PSTOPNGTOPS 1 "11 April 2001" "Version 1.00"

Table of contents


pstopngtops - convert (Encapsulated) PostScript files to PostScript bitmap files


pstopngtops [ -? ] [ -crop ] [ -debug ] [ -extension name ] [ -gamma float-value ] [ -help ] [ -icon ] [ -margin pixels ] [ -norun ] [ -resolution dpi ] [ -version ] [ -Wcomponent,option ] PostScript-files


pstopngtops converts one or more input (Encapsulated) PostScript files to output PostScript files via an intermediate transformation to Portable Network Graphics (PNG) lossless compressed bitmap files.

This curious procedure serves to purify PostScript files that are not includable in other documents because they fail to conform to Adobe's Encapsulated PostScript specification (see Appendix G of any of the three editions of the PostScript Language Reference Manual). pstopngtops converts PostScript files to PostScript bitmap page images, with user control of resolution, cropping, and margin padding.

For maximal color fidelity, bitmaps are produced in 24-bit color mode, with 16,777,216 possible colors.

The PNG format is an Internet Standard defined in RFC 2083 (1997), and major Web browsers, PostScript level 3 (1999), and picture editors such as gimp(1) photoshop(1), and xv(1) now support it.

Unlike the Compuserv GIF format, which uses the Lempel-Ziv-Welch (LZW) compression algorithm protected under U.S. Patent 4,558,302 (10-Dec-1985) held by Unisys Corporation, PNG is free of patent and copyright claims, and the PNG format is recommended for replacement of GIF images.

For each file given on the command line, an output file is written with the same basename as the input file, but with extension xps, or the name specified by the -extension option.

With the -icon option, small companion files with the same name are also written in a subdirectory icons, which is created if necessary.

If no files are given on the command line, then stdin is read, and stdout is written, and no icon file can be produced.

pstopngtops is a convenient interface to gs(1), pngtopnm(1), pnmcrop(1), pnmmargin(1), and pnmtops(1), which do the real work.


Command-line options may be abbreviated to a unique leading prefix.

To avoid confusion with options, if a filename begins with a hyphen, it must be disguised by a leading absolute or relative directory path, e.g. /tmp/-foo.eps or ./-foo.eps.

Options may begin with either UNIX-style single hyphens, or GNU/POSIX-style double hyphens, and may be abbreviated to any unique prefix.

Crop the image to remove edges that are the background color.
Turn on debug tracing.
-extension name
Replace the default output file extension, xps, with name.
-gamma float-value
Specify an image gamma correction as a floating-point number. Small values darken the image, and large values lighten it. Typical values are in the range 0.5 .. 3.0.

[Default: 1.0]


Display a brief help message on stdout, and exit with a success status code (0 on UNIX).
Produce icon files as well as PNG files. An icon file is just a low-resolution (12dpi) bitmap that may be useful as a compact representation of what is in the PNG file.

In filter mode (no files on the command line), this option is ignored.

-margin pixels
Add a background margin of width pixels to the output image. This option is usually specified together with -crop.
Show on stdout the commands that would be executed, but do not run them.

Use this option to trap the complex command pipelines for further private customization.

-resolution dpi
Set the output bitmap resolution to dpi dots per inch.

[Default: 100 dpi, suitable only for screen resolution].

Display program version numbers and dates on stdout, and exit with a success status code (0 on UNIX).
Pass option to the program component, which must be one of gs, pngtopnm, pnmcrop, pnmmargin, or pnmtops.

This option, a POSIX convention, provides a general way for a user to pass options to programs invoked by another program. The value option is passed after any generated in response to options supplied to pstopngtops. For example, -Wpnmmargin,-black would cause any added margin to be colored black.


epsutil(1), gimp(1), gs(1), photoshop(1), pngtopnm(1), pnmcrop(1), pnmmargin(1), pnmtops(1), pstojpeg(1), pstopng(1), pstotiff(1), xv(1).

T. Boutell, RFC 2083: PNG (Portable Network Graphics) Specification Version 1.0, available at

John Miano, The programmer's guide to compressed image files: JPEG, PNG, GIF, XBM, BMP, Addison-Wesley Longman, Harlow, Essex, England 1999, ISBN 0-201-60443-4.

Greg Roelofs, PNG: The Definitive Guide, O'Reilly and Associates, Inc., Sebastopol, CA, Cambridge, MA, and Beijing, China, 1999, ISBN 1-56592-542-4.

The PostScript language has evolved through three upward-compatible major levels, each defined by an edition of these books:

Adobe Systems Incorporated, PostScript Language Reference Manual, First edition, Addison-Wesley, Reading, MA, 1985, ISBN 0-201-10174-2.

Adobe Systems Incorporated, PostScript Language Reference Manual, Second edition, Addison-Wesley, Reading, MA, 1990, ISBN 0-201-18127-4.

Adobe Systems Incorporated, PostScript Language Reference, Third edition, Addison-Wesley, Reading, MA, 1999, ISBN 0-201-37922-8.

PostScript printing devices contain language implementations that are also compatible with one or more of these levels, though usually with a lag time of two to three years after an edition of the books.


Nelson H. F. Beebe, Ph.D.
Center for Scientific Computing
University of Utah
Department of Mathematics, 322 INSCC
155 S 1400 E RM 233
Salt Lake City, UT 84112-0090
Tel: +1 801 581 5254
FAX: +1 801 585 1640, +1 801 581 4148