psnup -nup 4
bart.ps > bart4.ps
psnup is part of the psutils package which can be compiled on most operating systems. I find it particularly useful to save paper and ink printing HTML documents.
PSNUP(1) User Commands PSNUP(1)
psnup - multiple pages per sheet
psnup [ -wwidth ] [ -hheight ] [ -ppaper ] [ -Wwidth ] [
-Hheight ] [ -Ppaper ] [ -l ] [ -r ] [ -f ] [ -c ] [ -mmar-
gin ] [ -bborder ] [ -dlwidth ] [ -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, normally specified in cm or in to convert
PostScript's points (1/72 of an inch) to centimeters or
inches. The -p option can be used as an alternative, to set
the paper size to a3, a4, a5, b5, letter, legal, or 10x14.
The default paper size is a4. 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
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 put-
ting multiple pages on a single sheet.
The -b option is used to specify an additional
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
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 i nup 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 particu-
lar 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.
Copyright (C) Angus J. C. Duggan 1991-1995
psbook(1), psselect(1), pstops(1), epsffit(1), psnup(1),
psresize(1), psmerge(1), fixscribeps(1), getafm(1),
fixdlsrps(1), fixfmps(1), fixmacps(1), fixpsditps(1),
fixpspps(1), fixtpps(1), fixwfwps(1), fixwpps(1),
fixwwps(1), extractres(1), includeres(1)
PostScript is a trademark of Adobe Systems Incorporated.
Psnup does not accept all DSC comments.