xpr - print an X window dump
xpr [ -device devtype ] [ -scale scale ] [ -height inches ] [ -width inches ] [ -left
inches ] [ -top inches ] [ -header string ] [ -trailer string ] [ -landscape ] [ -portrait
] [ -plane number ] [ -gray ] [ -rv ] [ -compact ] [ -output filename ] [ -append filename
] [ -noff ] [ -split n ] [ -psfig ] [ -density dpi ] [ -cutoff level ] [ -noposition ] [
-gamma correction ] [ -render algorithm ] [ -slide ] [ filename ]
xpr takes as input a window dump file produced by xwd(1) and formats it for output on
PostScript printers, the Digital LN03 or LA100, the IBM PP3812 page printer, the HP Laser-
Jet (or other PCL printers), or the HP PaintJet. If no file argument is given, the stan-
dard input is used. By default, xpr prints the largest possible representation of the
window on the output page. Options allow the user to add headers and trailers, specify
margins, adjust the scale and orientation, and append multiple window dumps to a single
output file. Output is to standard output unless -output is specified.
Specifies the device on which the file will be printed. Currently supported:
la100 Digital LA100
ljet HP LaserJet series and other monochrome PCL devices such as ThinkJet,
QuietJet, RuggedWriter, HP2560 series, and HP2930 series printers
ln03 Digital LN03
pjet HP PaintJet (color mode)
pjetxl HP HP PaintJet XL Color Graphics Printer (color mode)
pp IBM PP3812
ps PostScript printer
The default is PostScript. -device lw (LaserWriter) is equivalent to -device ps
and is provided only for backwards compatibility.
Affects the size of the window on the page. The PostScript, LN03, and HP printers
are able to translate each bit in a window pixel map into a grid of a specified
size. For example each bit might translate into a 3x3 grid. This would be speci-
fied by -scale 3. By default a window is printed with the largest scale that will
fit onto the page for the specified orientation.
Specifies the maximum height of the page.
Specifies the maximum width of the page.
Specifies the left margin in inches. Fractions are allowed. By default the window
is centered in the page.
Specifies the top margin for the picture in inches. Fractions are allowed.
Specifies a header string to be printed above the window.
Specifies a trailer string to be printed below the window.
Forces the window to printed in landscape mode. By default a window is printed
such that its longest side follows the long side of the paper.
Specifies which bit plane to use in an image. The default is to use the entire
image and map values into black and white based on color intensities.
-gray 2 | 3 | 4
Uses a simple 2x2, 3x3, or 4x4 gray scale conversion on a color image, rather than
mapping to strictly black and white. This doubles, triples, or quadruples the
effective width and height of the image.
Forces the window to be printed in portrait mode. By default a window is printed
such that its longest side follows the long side of the paper.
-rv Forces the window to be printed in reverse video.
Uses simple run-length encoding for compact representation of windows with lots of
Specifies an output file name. If this option is not specified, standard output is
Specifies a filename previously produced by xpr to which the window is to be
-noff When specified in conjunction with -append, the window will appear on the same page
as the previous window.
This option allows the user to split a window onto several pages. This might be
necessary for very large windows that would otherwise cause the printer to overload
and print the page in an obscure manner.
-psfig Suppress translation of the PostScript picture to the center of the page.
Indicates what dot-per-inch density should be used by the HP printer.
Changes the intensity level where colors are mapped to either black or white for
monochrome output on a LaserJet printer. The level is expressed as percentage of
full brightness. Fractions are allowed.
This option causes header, trailer, and image positioning command generation to be
bypassed for LaserJet, PaintJet and PaintJet XL printers.
This changes the intensity of the colors printed by PaintJet XL printer. The cor-
rection is a floating point value in the range 0.00 to 3.00. Consult the opera-
tor's manual to determine the correct value for the specific printer.
This allows PaintJet XL printer to render the image with the best quality versus
performance tradeoff. Consult the operator's manual to determine which algorithms
-slide This option allows overhead transparencies to be printed using the PaintJet and
PaintJet XL printers.
xwd(1), xwud(1), X(1)
The current version of xpr can generally print out on the LN03 most X windows that are not
larger than two-thirds of the screen. For example, it will be able to print out a large
Emacs window, but it will usually fail when trying to print out the entire screen. The
LN03 has memory limitations that can cause it to incorrectly print very large or complex
windows. The two most common errors encountered are ``band too complex'' and ``page mem-
ory exceeded.'' In the first case, a window may have a particular six pixel row that con-
tains too many changes (from black to white to black). This will cause the printer to
drop part of the line and possibly parts of the rest of the page. The printer will flash
the number `1' on its front panel when this problem occurs. A possible solution to this
problem is to increase the scale of the picture, or to split the picture onto two or more
pages. The second problem, ``page memory exceeded,'' will occur if the picture contains
too much black, or if the picture contains complex half-tones such as the background color
of a display. When this problem occurs the printer will automatically split the picture
into two or more pages. It may flash the number `5' on its from panel. There is no easy
solution to this problem. It will probably be necessary to either cut and paste, or to
rework the application to produce a less complex picture.
There are several limitations on the LA100 support: the picture will always be printed in
portrait mode, there is no scaling, and the aspect ratio will be slightly off.
Support for PostScript output currently cannot handle the -append, -noff or -split
The -compact option is only supported for PostScript output. It compresses white space
but not black space, so it is not useful for reverse-video windows.
For color images, should map directly to PostScript image support.
If no -density is specified on the command line 300 dots per inch will be assumed for ljet
and 90 dots per inch for pjet. Allowable density values for a LaserJet printer are 300,
150, 100, and 75 dots per inch. Consult the operator's manual to determine densities sup-
ported by other printers.
If no -scale is specified the image will be expanded to fit the printable page area.
The default printable page area is 8x10.5 inches. Other paper sizes can be accommodated
using the -height and -width options.
Note that a 1024x768 image fits the default printable area when processed at 100 dpi with
scale=1, the same image can also be printed using 300 dpi with scale=3 but will require
considerably more data be transferred to the printer.
xpr may be tailored for use with monochrome PCL printers other than the LaserJet. To
print on a ThinkJet (HP2225A) xpr could be invoked as:
xpr -density 96 -width 6.667 filename
or for black-and-white output to a PaintJet:
xpr -density 180 filename
The monochrome intensity of a pixel is computed as 0.30*R + 0.59*G + 0.11*B. If a pixel's
computed intensity is less than the -cutoff level it will print as white. This maps
light-on-dark display images to black-on-white hardcopy. The default cutoff intensity is
50% of full brightness. Example: specifying -cutoff 87.5 moves the white/black intensity
point to 87.5% of full brightness.
A LaserJet printer must be configured with sufficient memory to handle the image. For a
full page at 300 dots per inch approximately 2MB of printer memory is required.
Color images are produced on the PaintJet at 90 dots per inch. The PaintJet is limited to
sixteen colors from its 330 color palette on each horizontal print line. xpr will issue a
warning message if more than sixteen colors are encountered on a line. xpr will program
the PaintJet for the first sixteen colors encountered on each line and use the nearest
matching programmed value for other colors present on the line.
Specifying the -rv, reverse video, option for the PaintJet will cause black and white to
be interchanged on the output image. No other colors are changed.
Multiplane images must be recorded by xwd in ZPixmap format. Single plane (monochrome)
images may be in either XYPixmap or ZPixmap format.
Some PCL printers do not recognize image positioning commands. Output for these printers
will not be centered on the page and header and trailer strings may not appear where
The -gamma and -render options are supported only on the PaintJet XL printers.
The -slide option is not supported for LaserJet printers.
The -split option is not supported for HP printers.
The -gray option is not supported for HP or IBM printers.
Copyright 1986, Marvin Solomon and the University of Wisconsin.
Copyright 1988, Hewlett Packard Company.
See X(1) for a full statement of rights and permissions.
Michael R. Gretzinger, MIT Project Athena, Jose Capo, MIT Project Athena (PP3812 support),
Marvin Solomon, University of Wisconsin, Bob Scheifler, MIT, Angela Bock and E. Mike
Durbin, Rich Inc. (grayscale), Larry Rupp, HP (HP printer support).
X Version 11 Release 6 XPR(1)