PSMULTIPAGE 1L "31 May 1991"

Table of contents


psmultipage - convert multipage \*(Ps file(s) to \*(Ps for reduced n by m printing


psmultipage rows columns <infile >outfile

psmultipage rows columns file1 file2 ..\. >outfile


psmultipage converts one or more multipage \*(Ps files to one in which multiple page images will be printed on a single output page, in a grid of r rows by c columns.

This conversion is particularly effective if the \*(Ps pages are simple line graphics, or overhead slides in large font sizes.

If no files are specified on the command line, then standard input is assumed to contain the \*(Ps stream.

If the rows and columns arguments are omitted, then a 2 by 2 grid is assumed.

In the current version, pages are arranged vertically on the grid; that is, pages are imaged in cells down the first column before moving to the second column.

The output page is divided into equal cells according to the specified number of rows and columns. In general, the aspect ratio of these cells will be different from that of the original page, unless the numbers of rows and columns are identical. Thus, some stretching or shrinking of the page images is expected.

Because the output page images are reduced in size, some distortion in quality is expected on typical 300dpi \*(Ps laser printers. This will particularly be true if the output contains bitmap images, or bitmapped fonts downloaded by a TeX DVI driver, and the quality will be worse when the aspect ratio is not preserved.

Most laser printers have rather limited memory, and the multiple page images may exceed printer capacity. Experiments with a 200KB 16-page \*(Ps test file from SLiTeX on a 1MB Apple Laserwriter II showed that 2 by 2 printing was successful only for one page. On a 6MB Imagen 3320 printer, all sizes up to 4 by 4 printed without problems.

Finally, laser printers process the output \*(Ps rather slowly; expect the printing time to be about the same as for separate page images.


If psmultipage produces output that fails to print correctly, it is very like that the input file violated Adobe's guidelines for Encapsulated PostScript.

One possible cause is the use of any of these operators, which can change the image transformation:

banddevice      grestoreall     nulldevice      setpageparams
copypage        initclip        quit            setsccbatch
erasepage       initgraphics    renderbands     setscreen
exitserver      initmatrix      setdevice       settransfer
framedevice     note            setmatrix

A second cause is the issuing of showpage between save and restore commands; the restore invalidates the work done by psmultipage's modified showpage. The showpage command should follow any restore.


dvialw(1L), dvips(1L), lptops(1L), ps4014(1L), slitex(1L), tekalw(1L), tex(1L), tkvecs(1L), x79ps(1L).


Nelson H. F. Beebe, Ph.D.

Center for Scientific Computing

Department of Mathematics

220 South Physics Building

University of Utah

Salt Lake City, UT 84112

Tel: (801) 581-5254

FAX: (801) 581-4148

E-mail: <>


This program, psmultipage(1L), and this manual page documentation, are in the public domain", and may be freely distributed and used for any purpose without restriction. Although the current implementation is in the form of a UNIX shell script using only the cat(1) utility, it should be relatively trivial to port to any other operating system that has an adequate command shell facility, or an implementation of a string processing language like awk(1) or perl(1).


\*(Ps is a trademark of Adobe Systems Incorporated.