TIFF2PS(1)
💖 TIFF2PS(1) — the LibTIFF girlies' guide 💖
okay so bestie, pull up a chair, because we're talking about tiff2ps from the LibTIFF family. this is the part of the manual page where we'd normally just say "convert TIFF image to PostScript™" and move on, but no — we're doing this properly. 🌸
✨ NAME ✨
tiff2ps — convert TIFF image to PostScript™ 🎀
🦋 SYNOPSIS 🦋
tiff2ps [ options ] input.tif …
👑 DESCRIPTION 👑
okay so here's the vibe: tiff2ps reads TIFF images and writes PostScript™ or Encapsulated PostScript™ (EPS) on the standard output. by default — and this is the important part, don't skip it — tiff2ps writes Encapsulated PostScript™ for the first image in the specified TIFF image file. first image only. periodt. 💅
by default, tiff2ps will generate PostScript™ that fills a printed area specified by the TIFF tags in the input file. but if the file does not contain XResolution or YResolution tags, then the printed area is set according to the image dimensions instead. the -w and -h options (scroll down bestie, they're there) can be used to set the dimensions of the printed area in inches, overriding any relevant TIFF tags. iconic behaviour honestly.
so the PostScript™ generated for RGB, palette, and CMYK images uses the colorimage operator. and the PostScript™ generated for greyscale and bilevel images uses the image operator. and here's the tea 🍓 — 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. like, go-make-a-snack slow. 😭
color images with associated alpha data are composited over a white background. slay. ✨
💅 OPTIONS 💅
-1— generate PostScript™ Level 1. this is the default, bestie, so if you do nothing you get this. 🎀-2— generate PostScript™ Level 2.-3— generate PostScript™ Level 3. it basically allows one to use the/flateDecodefilter for ZIP compressed TIFF images. lowkey the glow-up option. 🔥-8— disable use of ASCII85 encoding with PostScript™ Level 2/3.-a— generate output for all IFDs (pages) in the input file. every single page. no crumbs left. 👑-bmargin — specify the bottom margin for the output (in inches). this does not affect the height of the printed image.-c— center the image in the output. heads up though: this option only shows an effect if both the-wand the-hoption are given. both. or it's giving nothing. 🫶-Cname — specify the document creator name.-ddir — 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. zero-indexed, bestie, don't come for me. 💀-D— enable duplex printing (two pages per sheet of paper). environmentally conscious queen 🌈-e— force the generation of Encapsulated PostScript™ (implies-z).-hsize — specify the vertical size of the printed area (in inches).-H— specify the maximum height of image (in inches). images with larger sizes will be split in several pages. option-Lmay be used for specifying size of split images overlapping.-i— 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.-L— specify the size of overlapping for split images (in inches). used in conjunction with the-Hand-Woptions.-l— specify the left margin for the output (in inches). this does not affect the width of the printed image.-Msize — set maximum memory allocation size (in MiB). the default is256MiB. set to0to disable the limit. (set it to zero and it's giving "no thoughts, head empty" but for memory limits 🙈)-m— where possible render using theimagemaskPostScript™ operator instead of theimageoperator. when this option is specifiedtiff2pswill useimagemaskfor rendering 1 bit deep images. if this option is not specified, or if the image depth is greater than 1, then theimageoperator is used.-oifdoffset — 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 theSubIFDtag. sneaky little thumbnails, we see you 👀-O— write PostScript™ to specified file instead of standard output.-p— force the generation of (non-Encapsulated) PostScript™.-PL|P — set optionalPageOrientationDSC comment toLandscapeorPortrait.-r90|180|270|auto — rotate image by 90, 180, 270 degrees orauto.autopicks the best fit for the image on the specified paper size (eg portrait or landscape) if-hor-wis specified. rotation is in degrees counterclockwise.autorotates 90 degrees ccw to produce landscape. she's flexible 💫-s— generate output for a single IFD (page) in the input file.-ttitle — specify the document title string.-T— print pages for top edge binding.-wsize — specify the horizontal size of the printed area (in inches).-Wsize — specify the maximum width of image (in inches). images with larger sizes will be split in several pages. options-Land-Ware mutually exclusive. pick a lane bestie 😭-x— override resolution units specified in the TIFF as centimeters.-y— override resolution units specified in the TIFF as inches.-z— 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.
🌈 EXAMPLES 🌈
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. (ghostscript girlies rise up ⭐)
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. yes, directory 2, -d 1. that's the bit. iykyk 💀)
if you have a long image, it may be split in several pages:
tiff2ps \-h11 \-w8.5 \-H14 \-L.5 foo.tif > foo.ps
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). long-girl image, handled. 🧚
😭 BUGS 😭
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. it's giving bloated fr fr. 💀
does not handle tiled images when generating PostScript™ Level I output. just so you know. 🙈
🫶 SEE ALSO 🫶
pal2rgb (1), tiffinfo (1), tiffcp (1), tiffgt (1), tiffmedian (1), tiff2bw (1), libtiff (3tiff),
💜 AUTHOR 💜
LibTIFF contributors
🎀 COPYRIGHT 🎀
1988-2025, LibTIFF contributors
and that's the whole page, bestie — manual page TIFF2PS(1), from the LibTIFF crew, version 4.7, dated Jun 27, 2026. go forth and convert, you absolute icon 👑✨💖
📦 where this page comes from
- fedora 43: libtiff-tools 4.7.2-1.fc43
- fedora 43: libtiff-tools 4.7.2-3.fc43 · libtiff
- fedora 44: libtiff-tools 4.7.2-1.fc44
- fedora 44: libtiff-tools 4.7.2-3.fc44 · libtiff
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms