ps2fax.8c man page

ps2fax — image POSTSCRIPT™ for facsimile transmission by HylaFAX


/var/spool/hylafax/bin/ps2fax [ options ] [ files... ]


ps2fax takes POSTSCRIPT input and generates a TIFF Class F image file suitable for facsimile transmission. It is usually invoked by the HylaFAX scheduler process, faxq(8C). On Silicon Graphics' IRIX systems, this application is based on Adobe's Display POSTSCRIPT software. On other machines POSTSCRIPT imaging is typically done using the freely available Ghostscript software.

ps2fax is actually a link (symbolic or otherwise) to the script appropriate for the POSTSCRIPT imaging tool. The link is setup when the faxsetup(8C) script is run to configure a HylaFAX server machine for use.

Input files containing POSTSCRIPT may be specified on the command line. If none are given, then ps2fax will read from standard input.

By default, ps2fax will generate a 98 line/inch output document whose page width is 1728 pixels and page length is 297 mm (a standard A4 page at low resolution). Horizontal resolution is always 204 dpi. Command line options may be used to select alternate vertical resolution and page dimensions.

If no filename is given, ps2fax writes its output to a file named ps.fax; the -o option can be used to specify an alternate filename.

By default, output is compressed using the standard Group 3 1D-encoding scheme, with EOL codes padded to byte boundaries. If the -2 option is specified, output is encoded with the optional Group 3 2D-encoding scheme (EOL codes are still padded to byte boundaries).

This script can modify outgoing facsimile, such as watermarking, To do this create a shell script etc/FaxModify in the spooling area that alters the document.

Note that bin/ps2fax is usually just a link to a shell script that invokes the appropriate POSTSCRIPT RIP to do the work.


The following operations are recognized:

Write Group 3 1D-encoded data to the output file.
Write Group 3 2D-encoded data to the output file.
Write Group 4 MMR-encoded data to the output file.
Write color data to an output file (possibly a separate file if Group 3 or Group 4 data is also being output).
-i jobid
How the server references the associated Job ID number
-m pages
Set the maximum number of pages that are permitted in the output file. If more pages are present in the input document then abort processing.
-o file
Write output to the specified file instead of the default ps.fax filename.
-w width
Set the output page width, in pixels. By default, pages are 1728 pixels wide.
-l length
Set the output page length in millimeters. By default, pages are 297 millimeters long.
-r vres
Set the vertical resolution, in lines/inch, at which to image the POSTSCRIPT.

Runtime Environment

Before user-supplied POSTSCRIPT is passed to the POSTSCRIPT interpreter, a limited number of operators are defined. These operators are operators commonly found in a LaserWriter printer and (sometimes) generated by Macintosh-based applications.

The default Display POSTSCRIPT-based execution environment includes support for the following fonts:


Note that this is the same set of fonts supported by the DPS extension to the X server.

The default Ghostscript-based environment is more uncertain; consult the Ghostscript documentation for information on what fonts are available.


/var/spool/hylafax/etc/dpsprinter.psPOSTSCRIPT code read at startup for DPS
/usr/lib/DPS/default.dps_vmstartup VM file for DPS
/usr/lib/DPS/outlineType 1 fonts for DPS
/usr/lib/DPS/prebuiltprebuilt versions of fonts for DPS


Output from the Display POSTSCRIPT version of this command is encoded according to the Display POSTSCRIPT binary encoding protocol.

No prebuilt bitmap fonts are currently available for the DPS-based imager; this would greatly improve legibility at low resolutions, as the rendering of outline fonts at 98 lpi is particularly poor.

Both DPS- and Ghostscript-based versions of this program fail to exit with non-zero status when an invalid POSTSCRIPT document is processed; this makes it problematic for the HylaFAX queue manager to determine when a problem arises when preparing a job for transmission.

See Also

sendfax(1), faxq(8C), hylafax-server(5F)


Explore man page connections for ps2fax.8c(8).