XPR(1) UNIX Programmer's Manual XPR(1) NAME xpr - print X window dump SYNOPSIS xpr [ -scale _s_c_a_l_e ] [ -height _i_n_c_h_e_s ] [ -width _i_n_c_h_e_s ] [ -left _i_n_c_h_e_s ] [ -top _i_n_c_h_e_s ] [ -header _s_t_r_i_n_g ] [ -trailer _s_t_r_i_n_g ] [ -landscape ] [ -portrait ] [ -compact ] [ -output _f_i_l_e_n_a_m_e ] [ -append _f_i_l_e_n_a_m_e ] [ -noff ] [ -split _n ] [ -device _d_e_v ] [ _f_i_l_e_n_a_m_e ] DESCRIPTION _X_p_r takes as input an X window dump file produced by _x_w_d(1) and formats it for output on the LN03, LA100, or Apple LaserWriter printer. If no file argument is given, the standard input is used. By default, _x_p_r 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 multi- ple window dumps to a single output file. Output is to standard output unless -output is specified. Command Options -scale _s_c_a_l_e Affects the size of the window on the page. The LN03 and LaserWriter 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. -height _i_n_c_h_e_s Specifies the maximum height of the window on the page. -width _i_n_c_h_e_s Specifies the maximum width of the window. -left _i_n_c_h_e_s Specifies the left margin in inches. Fractions are allowed. By default the window is centered in the page. -top _i_n_c_h_e_s Specifies the top margin for the picture in inches. Fractions are allowed. -header _h_e_a_d_e_r Specifies a header string to be printed above the win- dow. Printed 1/10/87 14 October 1986 1 XPR(1) UNIX Programmer's Manual XPR(1) -trailer _t_r_a_i_l_e_r Specifies a trailer string to be printed below the win- dow. -landscape 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. -portrait 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. -compact Uses simple run-length encoding for compact representa- tion of windows with lots of white pixels. -output _f_i_l_e_n_a_m_e Specifies an output file name. If this option is not specified, standard output is used. -append _f_i_l_e_n_a_m_e Specifies a filename previously produced by _x_p_r to which the window is to be appended. -noff When specified in conjunction with -append, the window will appear on the same page as the previous window. -split _n 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 over- load and print the page in an obscure manner. -device _d_e_v_i_c_e Specifies the device on which the file will be printed. Currently only the LN03 (-device ln03), LA100 (-device la100) and Apple LaserWriter (-device lw or -device ps) are supported. SEE ALSO xwd(1), xdpr(1), xwud(1), X(1) LIMITATIONS The current version of _x_p_r 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 limi- tations that can cause it to incorrectly print very Printed 1/10/87 14 October 1986 2 XPR(1) UNIX Programmer's Manual XPR(1) 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 solu- tion to this problem is to increase the scale of the pic- ture, 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 rework to application to produce a less complex picture. _X_p_r provides some support for the LA100. However, there are several limitations on its use: The picture will always be printed in portrait mode (this may be changed in the future;) there is no scaling; and the aspect ratio will be slightly off. Support for the the LaserWriter currently cannot handle the -append, -noff or -split options. The -compact option is _o_n_l_y supported for the LaserWriter. It compresses white space but not black space, so it is not useful for reverse- video windows. AUTHOR Copyright 1985, Massachusetts Institute of Technology. LaserWriter support copyright 1986, Marvin Solomon and the University of Wisconsin. Michael R. Gretzinger, MIT Project Athena Printed 1/10/87 14 October 1986 3