psnup [-wwidth] [-hheight] [-ppaper] [-Wwidth] [-Hheight] [-Ppaper] [-l|-r|-f] [-c] [-mmargin] [-bborder] [-d[lwidth]] [-sscale] [-nup] [-q] [infile [outfile]]
Psnup puts multiple logical pages onto each physical sheet of paper. The input PostScript file should follow the Adobe Document Structuring Conventions.
The -w option gives the paper width, and the -h option gives the paper height, specified in pt, mm, cm, or in. The -p option can be used instead, to set the paper size; otherwise a default value is used. See paper(1). The -W, -H, and -P options set the input paper size, if it is different from the output size. This makes it easy to impose pages of one size on a different size of paper.
The -l option should be used for pages which are in landscape orientation (rotated 90 degrees anticlockwise). The -r option should be used for pages which are in seascape orientation (rotated 90 degrees clockwise), and the -f option should be used for pages which have the width and height interchanged, but are not rotated.
Psnup normally uses `row-major' layout, where adjacent pages are placed in rows across the paper. The -c option changes the order to `column-major', where successive pages are placed in columns down the paper.
A margin to leave around the whole page can be specified with the -m option. This is useful for sheets of `thumbnail' pages, because the normal page margins are reduced by putting multiple pages on a single sheet.
The -b option is used to specify an additional margin around each page on a sheet.
The -d option draws a line around the border of each page, of the specified width. If the lwidth parameter is omitted, a default linewidth of 1 point is assumed. The linewidth is relative to the original page dimensions, i.e., it is scaled down with the rest of the page.
The scale chosen by psnup can be overridden with the -s option. This is useful to merge pages which are already reduced.
The -nup option selects the number of logical pages to put on each sheet of paper. This can be any whole number; psnup tries to optimise the layout so that the minimum amount of space is wasted. If psnup cannot find a layout within its tolerance limit, it will abort with an error message. The alternative form -nnup can also be used, for compatibility with other n-up programs.
Psnup normally prints the page numbers of the pages re-arranged; the -q option suppresses this.
The potential use of this utility is varied but one particular use is in conjunction with psbook(1). For example, using groff to create a PostScript document and lpr as the UNIX print spooler a typical command line might look like this:
groff -Tps -ms file | psbook | psnup -2 | lpr
where file is a 4 page document this command will result in a two page document printing two pages of file per page and rearranges the page order to match the input pages 4 and 1 on the first output page and pages 2 then 3 of the input document on the second output page.
Written by Angus J. C. Duggan.
PostScript is a trademark of Adobe Systems Incorporated.
Psnup does not accept all DSC comments.