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]
Specifies the device on which the file will be printed.
Currently supported: LA100 HP LaserJet series and other
monochrome PCL devices such as ThinkJet, QuietJet, RuggedWriter,
HP560 series, and HP930 series printers LN03 HP
PaintJet (color mode) HP HP PaintJet XL Color Graphics
Printer (color mode) IBM PP3812 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 specified 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. 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.
Forces the window to be printed in reverse video.
Uses simple run-length encoding for compact representation
of windows with lots of white pixels.
Specifies an output file name. If this option is
not specified, standard output is used. Specifies
a filename previously produced by xpr to which the
window is to be appended. 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.
Suppress translation of the PostScript picture to
the center of the page. Indicates what dot-perinch
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 correction is a floating
point value in the range 0.00 to 3.00. Consult the
operator'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 are available.
This option allows overhead transparencies to be
printed using the PaintJet and PaintJet XL printers.
The xpr command takes as input a window dump file produced
by xwd(1X) and formats it for output on PostScript printers,
the LN03 or LA100, the IBM PP3812 page printer, the
HP LaserJet (or other PCL printers), or the HP PaintJet.
If no file argument is given, the standard 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.
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 memory exceeded."
In the first case, a window may have a particular six
pixel row that contains 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 options.
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
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 supported by other
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
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
xpr may be tailored for use with monochrome PCL printers
other than the LaserJet. To print on a ThinkJet (HP225A)
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
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(1X) for a full statement of rights and permissions.
xwd(1X), xwud(1X), X(1X)
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
[ Back ]