Scroll to navigation



tiff2ps - convert TIFF image to PostScript™


tiff2ps [ options ] input.tif


tiff2ps reads TIFF images and writes PostScript™ or Encapsulated PostScript™ (EPS) on the standard output. By default tiff2ps writes Encapsulated PostScript™ for the first image in the specified TIFF image file.

By default, tiff2ps will generate PostScript™ that fills a printed area specified by the TIFF tags in the input file. If the file does not contain XResolution or YResolution tags, then the printed area is set according to the image dimensions. The -w and -h options (see below) can be used to set the dimensions of the printed area in inches; overriding any relevant TIFF tags.

The PostScript™ generated for RGB, palette, and CMYK images uses the colorimage operator. The PostScript™ generated for greyscale and bilevel images uses the image operator. When the colorimage operator is used, PostScript™ code to emulate this operator on older PostScript™ printers is also generated. Note that this emulation code can be very slow.

Color images with associated alpha data are composited over a white background.


Generate PostScript™ Level 1 (the default).

Generate PostScript™ Level 2.

Generate PostScript™ Level 3. It basically allows one to use the `/flateDecode filter for ZIP compressed TIFF images.

Disable use of ASCII85 encoding with PostScript™ Level 2/3.

Generate output for all IFDs (pages) in the input file.

Specify the bottom margin for the output (in inches). This does not affect the height of the printed image.

Center the image in the output. This option only shows an effect if both the -w and the -h option are given.

Specify the document creator name.

Set the initial TIFF directory to the specified directory number. (NB: Directories are numbered starting at zero.) This option is useful for selecting individual pages in a multi-page (e.g. facsimile) file.

Enable duplex printing (two pages per sheet of paper).

Force the generation of Encapsulated PostScript™ (implies -z).

Specify the vertical size of the printed area (in inches).

Specify the maximum height of image (in inches). Images with larger sizes will be split in several pages. Option -L may be used for specifying size of split images overlapping.

Enable/disable pixel interpolation. This option requires a single numeric value: zero to disable pixel interpolation and non-zero to enable. The default is enabled.

Specify the size of overlapping for split images (in inches). Used in conjunction with -H and -W options.

Specify the left margin for the output (in inches). This does not affect the width of the printed image.

Set maximum memory allocation size (in MiB). The default is 256MiB. Set to 0 to disable the limit.

Where possible render using the imagemask PostScript™ operator instead of the image operator. When this option is specified tiff2ps will use imagemask for rendering 1 bit deep images. If this option is not specified or if the image depth is greater than 1 then the image operator is used.

Set the initial TIFF directory to the IFD at the specified file offset. This option is useful for selecting thumbnail images and the like which are hidden using the SubIFD tag.

Write PostScript™ to specified file instead of standard output.

Force the generation of (non-Encapsulated) PostScript™.

Set optional PageOrientation DSC comment to Landscape or Portrait.

Rotate image by 90, 180, 270 degrees or auto. Auto picks the best fit for the image on the specified paper size (eg portrait or landscape) if -h or -w is specified. Rotation is in degrees counterclockwise. Auto rotates 90 degrees ccw to produce landscape.

Generate output for a single IFD (page) in the input file.

Specify the document title string.

Print pages for top edge binding.

Specify the horizontal size of the printed area (in inches).

Specify the maximum width of image (in inches). Images with larger sizes will be split in several pages. Options -L and -W are mutually exclusive.

Override resolution units specified in the TIFF as centimeters.

Override resolution units specified in the TIFF as inches.

When generating PostScript™ Level 2, data is scaled so that it does not image into the deadzone on a page (the outer margin that the printing device is unable to mark). This option suppresses this behavior. When PostScript™ Level 1 is generated, data is imaged to the entire printed page and this option has no affect.


The following generates PostScript™ Level 2 for all pages of a facsimile:

tiff2ps \-a2 fax.tif | lpr

Note also that if you have version 2.6.1 or newer of Ghostscript then you can efficiently preview facsimile generated with the above command.

To generate Encapsulated PostScript™ for a the image at directory 2 of an image use:

tiff2ps \-d 1 foo.tif

(Notice that directories are numbered starting at zero.)

If you have a long image, it may be split in several pages:

tiff2ps \-h11 \-w8.5 \-H14 \-L.5 foo.tif >

The page size is set to 8.5x11 by -w and -h options. We will accept a small amount of vertical compression, so -H set to 14. Any pages between 11 and 14 inches will be fit onto one page. Pages longer than 14 inches are cut off at 11 and continued on the next page. The -L.5 option says to repeat a half inch on the next page (to improve readability).


Because PostScript™ does not support the notion of a colormap, 8-bit palette images produce 24-bit PostScript™ images. This conversion results in output that is six times bigger than the original image and which takes a long time to send to a printer over a serial line. Matters are even worse for 4-, 2-, and 1-bit palette images.

Does not handle tiled images when generating PostScript™ Level I output.


pal2rgb (1), tiffinfo (1), tiffcp (1), tiffgt (1), tiffmedian (1), tiff2bw (1), libtiff (3tiff),


LibTIFF contributors


1988-2024, LibTIFF contributors

January 27, 2024 4.5