PPMTOMD

Section: User Commands (1)
Updated: ppmtomd
Page Index
 

NAME

ppmtomd - convert PPM files to the Alps MicroDry printer format  

SYNOPSIS

ppmtomd [ options ] [ PPM-file ]

 

DESCRIPTION

A program to convert images from PPM format into the control language for the Alps Micro-Dry printers, at various times sold by Citizen, Alps and Okidata.

The input image is printed as one page. However, ppmtomd will correctly handle concatenated PPM files by printing each file on a separate page, allowing it to be used as a filter for GhostScript with PPM output.

If no input file is given, ppmtomd reads from standard input. It does not spool its input to disk; however, it does store several intermediate files, and for a typical A4 photo image printed in standard mode, at least 20MB should be available in the temporary directory (/tmp, or the environment variable TMPDIR), or 80MB in the dye-sub and vphoto modes.

The formatted output is sent to standard output. ppmtomd does not at present try to read any information from the printer, so the output can be sent to a spooler or anywhere else as desired.

 

OPTIONS

For both option names and values that are options, any unambiguous (case-insensitive) prefix may be used. For example, the -transfermode option takes arguments including Black, Colour, Cassette, but it is enough to give b,co,ca.

 

-autoshift

This option shifts the image appropriately to take account of the unprintable areas on the paper, assuming that the input image occupies the full area of the paper. Thus if a PPM image is generated by giving the -sPAPERSIZE=a4 option to GhostScript, ppmtomd should be given the options -papersize A4 -autoshift.

 

-black

This option sets black monochrome printing. It is equivalent to -monochrome -transfermode Black.

 

-colourcorrectionmode

This option specifies what colour correction is to be applied. The possible values are:
None
No colour correction at all is done; in colour printing modes, the RGB input data will be converted to CMY with no black.
Plain
The RGB input will be converted to CMYK with full black generation and undercolour removal. This is the default when no dithering is done.
Photo
In this mode, monochrome data will be subject to gamma correction (see -gamma), and colour data will be corrected by a lookup table derived from the Alps Windows drivers. It can be adjusted by the -gamma (see below) and -keepblack options. This is the default when dithering is specified when using ordinary inks.
DyeSub
This does colour correction suitable for printing photographs on Dye Sublimation paper; the colour correction is done by a lookup table which matches the Alps Windows drivers. In addition, the -gamma option may be used to give a gamma factor which is first applied directly to the CMY values of the image; use this to brighten photos. (Gamma values greater than 1.0 or between 0 and -1.0 will brighten; the default is -0.9, which happens to give good results with my digital camera.)

 

-colourscolour-spec

This option specifies which components of the image are printed, and what colours are used to print them. In monochrome modes, there is only one component, called K, and in colour modes there are four, called K, C, M, Y, corresponding to the black, cyan, magenta and yellow components of the output images. These components are generated according to the colour mode and colour correction options; however, they need not all be printed. The colour-spec is a comma-separated list of components to be printed. For example, -colours c,y will print only the cyan and yellow planes of the image. These components are always printed in the order C,M,Y,K, except when using dye sublimation inks, in which case they are printed in the order Y,M,C (there is no K).
If no CMYK colours are to be printed, give - or none as the colour-spec.

NOTE: the following functionality is available but not recommended (use the -spotcolours option instead). Each component may be optionally followed by =colour, where colour is a cassette supported by the printer. This causes the given colour to be printed for the component. For example, -colours c=MetallicSilver,y=MetallicGold will print an image in silver and gold, the silver parts being represented by cyan in the input, and the gold parts by yellow. Colours may be given with full names or with abbreviations. The currently supported list of colours is given under the -spotcolours option; however, note that the foil colours require special processing that will not happen if they are used here.

 

-datamodemode

This was the name of the -tranfermode option (q.v.) in versions 1.2 and earlier. It remains supported for backwards compatibility.

 

-ditherdithering-mode

This option specifies what dithering should be applied to the input. The possible modes are:
None
The default for non-dyesub: no dithering is done, and the output pixels are calculated in CMYK and then rounded to on or off. Use this mode if the dithering is to be done by another program such as ghostscript.
FloydSteinberg
(also fs for short) uses a standard Floyd-Steinberg error diffusion algorithm. In principle, this is not a good technique for normal MicroDry printing technology; however, it can give good results in some circumstances. This is the default for dye sublimation printing.
Halftone
(also ht for short) uses a clustered dot ordered dither with customized halftone screen angles, and a line screen. This is the dithering recommended for general use. N.B. The default is no dithering, except in dye sublimation mode.
CoarseHalftone
(also cht for short) is the same, but uses a coarser, dot rather than line, screen, giving an impression more like normal print.
Square
This is a somewhat experimental technique that is only suitable for use in the RasterColour data mode. Not recommended; see the technical section for further information.

 

-draft

This option sets printing with the re-usable EconoBlack ribbon (MD-5000 and later models only). It is equivalent to -monochrome -transfermode EconoBlack.

 

-econoblack

A synonym for -draft.

 

-firstpass

This is a specialist option. It tells the driver that it is only handling the first of several passes, and that on exit the printer should be left in data transfer mode and the paper backfed to top of form.

 

-forcecurlcorrection

This option forces a paper curl correction pass even in overlay mode.

 

-glossy

This option tells the printer to put the glossy finish overcoat on the image. This uses the printer's built-in facility for this: the glossy finish will be applied to the smallest rectangle bounding the printed area. Finer control can be achieved by using Finish as a spot colour. This option is set by default in dye sublimation printing; it can be cancelled with the -noglossy option.

 

-halftone

This is a compatibility option, equivalent to -dither Halftone.

 

-informatinput_type

This option specifies how to treat the input. The possible values are
Colour
The default mode: the input is a standard colour image, and (unless prevented by other options) undergoes colour correction and possibly dithering to generate four colour output.
Monochrome
The input is converted to a grey file, gamma correction is applied and possibly dithering, and then all selected output colours are printed at the resulting level. Note that this mode should usually only be used if just one output colour is being printed: if you use this option on its own, the result will be an image printed four times over, in each colour! This mode is automatically set by appropriate user-level options such as -black.
Diag
The input is in a special diagnostic format which codes the value of a four colour pixel into an RGB pixel. This format is described in the technical section (***).

 

-gammag

This option sets the initial gamma correction that is applied to input data. At present, in monochrome modes this is applied directly to the darkness k as k -> k**g; in colour modes, it is applied to the CMY components by c -> c**g. The default value depends on the type of printing.

 

-inresolutionres

This integer valued option sets the resolution of the input file if it is different from the printing resolution. Currently this is only supported for 600 dpi input and 1200 dpi output.

 

-keepblack

If this option is given, pure black in the input will be printed as pure black in the output, overriding the normal colour corrected value. This option is appropriate for mixes of black text and images. However, for images without text, it is probably better not to give this option; without it, the solid blacks will blend better with the surrounding colours.

 

-lastpass

This is a specialist option. It is like -midpass, except that no further pass follows, so that curl correction should be performed, the paper ejected, and the printer reset as normal.

 

-lfadjustadjustment

This option specifies the line feed adjustment, changing the amount by which the printhead advances between passes. If thin white stripes appear between bands, a negative lfadj can be used to remove them. May be useful with very heavy paper or very light paper; the neutral setting seems correct for normal paper on my printer, but reports vary. adjustment is in units of 1/9th of a (600dpi) pixel, and has possible values from -128 to +127.

 

-mediamediatype

This option specifies the printing media type. It affects several other options. For completeness, we list here all possible media types, though some have never been available on the printers so far sold.
PlainPaper
The default medium, meaning standard photocopy paper.
FinePlainPaper
This is not actually a different medium; rather it is plain paper, but everything is printed twice, giving a richer colour. The term "Fine" is historical Alps; it's misleading, since this is intended for paper that is rougher than usual and so needs double printing.
LaserPaper
This appears to be the same as PlainPaper, but smoother, which may affect some firmware fine-tuning of the printing.
DyeSubPaper
Dye sublimation paper. Setting this medium implies the use of the dye sublimation ink cartridges. Currently, no other inks may be used (so no spot colours), although there seems no reason in principle why the other inks should not be usable as overcolours.
DyeSubLabel
This variant on dye sublimation paper is probably a product (sold only in Japan) for id-cards and the like.
VPhotoFilm
This is a plastic film for variable-dots printing. If this medium is selected, ppmtomd will do variable-dots printing. (VPhoto printing on plain paper or with VPhoto primer is not yet supported.)
VPhotoCard
Postcard sized VPhoto film, I think. This also implies variable-dots printing.
OHP
Overhead transparencies (normal ones, not the special ink ones).
FineOHP
Overhead transparencies with double printing.
Cardboard
It is not entirely clear what this is for; it is probably for business cards (card printing sheets are sold in Japan for the MD series).
PostCard
This is a heavy paper or light card sold in Japan for printing postcards.
IronSheet
This is sheets for iron-on transfers.
SpecialIron
This is for iron-on sheets using the special OHP inks; not usable.
BackPrint
Backprint film is used for mugs and the like; it is not easily available outside Japan, and is to be withdrawn in September 2004. With this medium, the image is automatically mirrored left-to-right.
FineBackPrint
Backprint film with double printing.
GlossyPaper
also sold as photo-realistic paper is a very smooth paper intended for 1200dpi printing with the earlier (pre-MD5000) printers.
GlossyLabel
This variant on photo-realistic paper is probably a product (sold only in Japan) for id-cards and the like.
SpecialOHP
This medium is not usable with modern MD printers. Alps originally marketed (in Japan only) a set of inks specially designed for transparencies. This medium indicates transparencies to be printed with the special inks. The transparencies and inks work only with the MD-2000 (and presumably also the Printiva 600). The inks were withdrawn in 2000.
FineSpecialOHP
is to SpecialOHP as FinePlainPaper is to PlainPaper; it is not usable.
LabecaSheet
This medium was sold in Japan only, and is now withdrawn. It appears to be labels for videotapes etc.
ThermalPaper
This is thermal paper that will be directly activated by the print head - i.e. no ribbon is used. It is not known whether this is safe to do on the retail MD series; certainly no such paper is sold by Alps.
CDMaster
Another medium not available on the current printers. It appears to be for printing stick-on labels for CDs - or possibly even directly on to CDs.

 

-midpass

This is a specialist option. It tells the driver that the printer has already been set up with appropriate values, and left in data transfer mode, so the driver should simply print the specified components. Unless the -lastpass option is also given, the printer will be left in data transfer mode.

 

-modelmodelname

This option tells the driver which model of printer it is driving. Possible values are: Printiva-600 (the Citizen Printiva 600C), Printiva-600U (the same, upgraded to recognize metallic silver), Printiva-700, Printiva-1700 (later Citizen models), MD-2000, MD-2010, MD-4000, MD-2300, MD-1000, MD-1300, MD-1500, MD-5000, MD-5500 (Alps models), DP-5000 (Oki models). The default is DP-5000 (can be changed at compile time) for ppmtomd, or Printiva-600U if called as ppmtocpva (for compatibility). The main difference is between models before the MD-5000, and the 5000 onwards models; however, the driver tries to ensure that unsupported commands are not issued to the printer.

 

-monochrome

This is a compatability option, and is equivalent to -informat Monochrome.

 

-nocurlcorrection

This option suppresses the curl correction that the printer normally performs on the last print pass. Note that the printer only performs curl correction on paper media, and that curl correction is automatically disabled in overlay mode.

 

-nopack

This is a debugging option only; it disables the use of compression in the output.

 

-noreset

This is a specialist option. Normally, the driver will issue a printer reset at the end of processing; this option prevents it.

 

-outformatoutput_format

This option specifies what form of output the program generates. The values are:
RGL
The default: output for driving the printer.
packetRGL
Output encapsulated in the packetized format used for bidirectional drivers. Warning: this output must not be sent directly to the printer; it must be handled by a suitable spooler.
PPM
The output is a PPM file with each pixel being cyan, magenta, yellow, black or white as it would appear on the printer.
Diag
The output is a PPM file in a diagnostic format which codes a CMYK pixel into an RGB pixel.
ColourDiag
The output is the PPM file resulting from applying the colour correction routines to the input, but without any other processing.

 

-overlay

If this option is given, at the end of printing the paper will be returned to top of form so that further data can be overlaid on the same page. (Technical note: the printer will be left in the idle mode.)

 

-pageC -pageM -pageY -pageK

These options are deprecated compatibility options. They specify which components should be printed; use the -colours option instead.

 

-pagelengthlength

This option sets the length of the page, from top printing position to bottom printing position. length may be given in the usual units of measurement; if no unit is given, a unit of 1/600 inch is assumed (regardless of the resolution setting). This option is usually set automatically from the paper size.

 

-pagewidthwidth

This option sets the printing width of the page. width may be given in the usual units of measurement; if no unit is given, a unit of 1/600 inch is assumed (regardless of the resolution setting). This option is usually set automatically from the paper size.

 

-papersizesize

This option sets the size of the paper being used. Possible values are Custom (the length and width should be given by options), Executive, Letter, Legal, A4, B5, PostCard, DyeSubLabel. For the exact dimensions of these sizes, see the note *** in the technical section. NOTE: the default size is explicitly set to A4 by the driver, although the printers' built-in default varies with country.

 

-phadjustadjustment

This option varies the intensity of the print head drive signal, making the image lighter or darker than normal. adjustment may take values between -50 and +50; negative values make the image darker. It is not known whether this option may increase wear on the heads.

 

-ppmout

This is a compatibility option, equivalent to -outformat PPM.

 

-primer

This option lays a coat of VPhoto Primer over the whole area of the image before printing. It should be used together with -printmode VPhoto. (To be precise, this option is equivalent to setting the first unused undercolour component to Primer=always.)

 

-printmodemode

This option is used to print with VPhoto (variable dot, misleadingly called 2400dpi) printing on plain paper - or standard printing on VPhoto paper, should it be desired. It is available only with the 5000 series printers. The possible values of mode are as follows: Default - the mode is determined by the media, being DyeSub printing on DyeSub media, VPhoto printing on VPhoto media, and standard printing on all other media; Standard - 1 bit per pixel standard printing; VPhoto - 4 bits per pixel variable dot printing; DyeSub - 4 bits per pixel printing with dye sublimation inks. (The last option has no known use, since dye sub printing only works on dye sub media.) Note that this option applies only to the CMYK components; undercolours and spot colours are always printed in Standard mode, whatever the media.

 

-resolutionres

This option sets the printing resolution. res is an integer, with values 600 (default) for 600x600 dpi, 300 for 300x300 dpi, or 1200 for 1200x600 dpi.

 

-satgammasg

This option is not used in version 1.2.

 

-solidblack

This is a compatibility option, equivalent to -keepblack.

 

-spotcolourscolourspecs

This option gives the spot colours to be printed after the CMYK colours. Up to four spot colours may be given. colourspecs is a comma-separated list of colour specification, each of the form n=col=inspec.

n is an integer between 1 and 4; the spot colours are printed in order.

col is the ribbon colour for this component: possible values (abbreviations) are Black (k), Cyan (c), Magenta (m), Yellow (y), MetallicGold (mg), MetallicMagenta (mm), MetallicCyan (mc), MetallicSilver (ms), White (w), GoldFoil (gf), SilverFoil (sf), Primer (p), Finish (f), Overcoat (oc). Note that the Foil ribbons also require the CMYK ribbons to be installed, and that the Finish and Overcoat ribbons will normally be used via other options. (The Primer ribbon is of course normally used as an undercolour rather than a spot colour).

For use in complex overlays, four pseudo-colours are also possible values. NullSpot (ns) and NullFoil (nf) cause nothing to be printed, but otherwise behave like non-foil and foil spots: NullSpot blanks out anything underneath, and NullFoil causes a CMYK undercoat to be printed. The colours RawGoldFoil (rgf) and RawSilverFoil (rsf) print the foil cartridges without an undercoat, assuming this has already been done in a previous overlay.

inspec specifies how the spot colour is given in the input file. The following values are possible:
c (respectively m,y,kP means that the spot colour is given by the C (respectively M,Y,K) value of the input. NOTE: for this calculation, the RGB input is converted to CMYK with full black generation and undercolour removal, regardless of any options affecting colour correction for the normal inks.
R-range:G-range:B-range specifies a range of RGB colours in the input that give the spot colour. Each range is of the form m[-n] where m and n are integers from 0 to 255 expressed in decimal. Hexadecimal values may be given by prefixing them with 0x, but octal values are not recognized. The spot colour is printed if each of the RGB components lies within the specified ranges.
notwhite or n means that the spot colour is printed if the input pixel is not white (useful with the glossy finish ribbon).
always or a means that the spot colour is printed over the entire image. (Useful for glossy finish or undercoats.)
See also the -spotfile for specifying the spot colours.

Note that no colour correction or halftoning is applied to spot colours; they are either on or off. Note also that spot colours are printed in addition to CMYK colours; if no CMYK colours are needed, use the -colours none option.

For pixels where a solid spot colour such as the Metallics is printed, the CMYK colours are not printed. For the Foil colours, an undercoat of CMYK is printed.

NOTE: The driver will not handle more than seven colours (including Glossy Finish if requested) in total. If you are using a 5000 series printer, load the required seven cartridges into the printer. If you are using a pre-5000 series printer, then if (a) you are using four or fewer colours, then load those cartridges, or (b) if you are using more than four colours, load the CMYK cartridges; then when the printer flashes its error light, open the printer, remove the cartridges in the holders and replace them with the remaining spot cartridges (I advise leaving the empty holder free). If you need to handle more than seven colours, you must use the -overlay option to print in several passes.

 

-spotfilefile

This option specifies a file containing the input data for the spot colours and under colours, instead of the main input file. This file must have the same dimensions and format as the main input file.

 

-transfermodemode

This option specifies how the different colours are sent to the printer. Generally this option need not be given, as the driver will choose appropriate modes depending on other options; indeed, it should not be given by the user unless they have a full understanding of the internals of both the printer and the driver. For a full description of modes, see the note (***) in the technical section of this man page. In versions 1.2 and earlier, this option was called -datamode. The possible values for the option are:
Colour
The default mode, in which the four colours are sent a page at a time, in the order cyan, magenta, yellow, black.
Black
The mode for monochrome data, printing in black only.
EconoBlack
Like Black, but uses the re-usable economy black ribbon. Available only with the 5000 and later printers.
Cassette
This mode is like Colour, but the colours black, cyan, magenta, yellow are instead printed with whatever cassettes are in holders 1, 2, 3, 4 respectively. In this mode, the printing order is 1, 2, 3, 4. *** Available only on the pre-5000 models. See the technical section for caveats. (***)
RasterColour
In this mode, each line of the image is sent in all four colours, then the next line, and so on. The printer prints one band in the four colours, then the next band, and so on. This mode is required for the multi-colour YMC ribbon available for the pre-5000 models; its use in any other case is not advised (see technical section ***). Available on the pre-5000 models only.
RasterCassette
This is the Cassette analogue of the RasterColour mode: data is transmitted a line at a time, and the colours black, cyan, magenta, yellow are interpreted as the cassettes in holders 1, 2, 3, 4. Use of this mode is not advised in any case. Available on pre-5000 models only.
NColour
This mode is an extension of Colour mode allowing more than four components. Available on the 5000 models only. (Previous versions used the confusing term MultiColour, which is accepted for backwards compatibility.)

 

-undercolourscolourspecs

This option is the same as -spotcolours, except that the colours are printed before the CMYK colours, and have no effect on what other colours are printed. The main use is with white ink to undercoat on dark paper. (Note that if an RGB inspec is used to specify an undercolour, the given colour is also printed as normal on top of the undercoat. This is probably not the intended effect! If you wish to do special effects with undercolours, you should use an overlay or spotfile.) See also the -spotfile option.

 

-usemulticolourribbon

This option is available on the pre-5000 series printers, and instructs the driver that the CMY multi-colour ribbon is to be used. This will result in the CMYK colours being printed in two passes instead of four: the first pass will be CMY, the second K.

 

-version

This option prints the version number and exits.

 

-xshiftxoffset

This option shifts the image in the x-direction. xoffset may be given in the usual units of measurement; if no unit is given, a unit of 1/600 inch is assumed (regardless of the resolution setting). See also -autoshift. A positive offset shifts the image right.

 

-yshiftyoffset

This option shifts the image in the y-direction. xoffset may be given in the usual units of measurement; if no unit is given, a unit of 1/600 inch is assumed (regardless of the resolution setting). See also -autoshift. A positive offset shifts the image down.

 

USAGE NOTES

To print a image from a PPM file with halftoning for photos, it suffices to do
ppmtomd -dither ht file >/dev/printer
assuming that the printer is on /dev/printer.

Suppose that text.ps is a PostScript file (possibly containing several pages). To print it in black only on A4 paper, the following combination of GhostScript and pptomd can be used:
  gs -q -dNOPAUSE -dBATCH -sDEVICE=pgmraw -r600

    -sOutputFile='|ppmtomd -autoshift

                           -black >/dev/printer'

    page.ps

To print at the highest resolution, do:
  gs -q -dNOPAUSE -dBATCH -sDEVICE=pgmraw -r1200x600

    -sOutputFile='|ppmtomd -autoshift -resolution 1200

                           -inresolution 1200

                           -black >/dev/printer'

    page.ps

Note that using the pbmraw format for GhostScript is not recommended. Many versions of GhostScript have bugs in this format, and there is no efficiency saving, since ppmtomd will convert its input to PPM.

To print a photograph in an image file photo.ppm, load the dye sublimation inks and paper and do
  ppmtomd -media DyeSubPaper photo.ppm >/dev/printer

To print a photo in the variable dots mode on VPhoto film, with glossy finish, do
  ppmtomd -media VPhotoFilm -glossy -dither ht photo.ppm >/dev/printer

To print the same on plain paper:
  ppmtomd -printmode VPhoto -glossy -dither ht photo.ppm >/dev/printer

 

ACKNOWLEDGMENTS

The writing of this driver is greatly assisted by the manufacturers. Citizen originally supplied me with the command language spec for the Printiva printers; Alps supplied me with the spec for their models; and Oki Systems (UK) supplied me with a DP-5000 printer for testing.

 

TECHNICAL NOTES

This section is not yet written.


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
-autoshift
-black
-colourcorrectionmode
-colourscolour-spec
-datamodemode
-ditherdithering-mode
-draft
-econoblack
-firstpass
-forcecurlcorrection
-glossy
-halftone
-informatinput_type
-gammag
-inresolutionres
-keepblack
-lastpass
-lfadjustadjustment
-mediamediatype
-midpass
-modelmodelname
-monochrome
-nocurlcorrection
-nopack
-noreset
-outformatoutput_format
-overlay
-pageC -pageM -pageY -pageK
-pagelengthlength
-pagewidthwidth
-papersizesize
-phadjustadjustment
-ppmout
-primer
-printmodemode
-resolutionres
-satgammasg
-solidblack
-spotcolourscolourspecs
-spotfilefile
-transfermodemode
-undercolourscolourspecs
-usemulticolourribbon
-version
-xshiftxoffset
-yshiftyoffset
USAGE NOTES
ACKNOWLEDGMENTS
TECHNICAL NOTES