PSNUP(1) User Commands PSNUP(1)

psnup - put multiple pages of a PostScript document on to one page

psnup [OPTION...] -NUP [INFILE [OUTFILE]]

Put multiple pages of a PostScript document on to one page.
-NUMBER
number of pages to impose on each output page
-p, --paper=PAPER
output paper name or dimensions
-P, --inpaper=PAPER
input paper name or dimensions
-m, --margin=DIMENSION
width of margin around each output page [default 0pt]; useful for thumbnail sheets, as the original page margins will be shrunk
-b, --border=DIMENSION
width of border around each input page
-d, --draw[=DIMENSION]
draw a line of given width around each page [relative to input page size; argument defaults to 1pt; default is no line]
-l, --rotatedleft
input pages are rotated left 90 degrees
-r, --rotatedright
input pages are rotated right 90 degrees
-f, --flip
swap output pages' width and height
-c, --transpose
swap columns and rows (column-major order)
-t, --tolerance=NUMBER
maximum wasted area in square pt [default: 100,000]
-q, --quiet
don't show page numbers being output
--help
display this help and exit
--version
display version information and exit

psnup aborts with an error if it cannot arrange the input pages so as to waste less than the given tolerance.

The output paper size defaults to the input paper size; if that is not given, the default given by the `paper' command is used.

The input paper size defaults to the output paper size.

In row-major order (the default), adjacent pages are placed in rows across the paper; in column-major order, they are placed in columns down the page.

Psnup uses Pstops to impose multiple logical pages on to each physical sheet of paper.

Paper sizes can be given either as a name (see paper(1)) or as widthxheight (see psutils(1) for the available units).

0
if OK,
1
if arguments or options are incorrect, or there is some other problem starting up,
2
if there is some problem during processing, typically an error reading or writing an input or output file.

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 and Reuben Thomas.

Copyright © Reuben Thomas 2016-2021. Released under the GPL version 3, or (at your option) any later version.

PostScript is a trademark of Adobe Systems Incorporated.

psutils(1), paper(1)
April 2021 psnup 2.05