psnup -nup 4
bart.ps > bart4.ps
lpr 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)
NAME
psnup - multiple pages per sheet
SYNOPSIS
psnup [ -wwidth ] [ -hheight ] [ -ppaper ]
[ -Wwidth ] [
-Hheight ] [ -Ppaper ] [ -l ] [ -r ]
[ -f ] [ -c ] [ -mmar-
gin ] [ -bborder ] [ -dlwidth ] [ -sscale
] [ -nup ] [ -q ]
[ infile [ outfile ] ]
DESCRIPTION
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
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 put-
ting 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 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.
EXAMPLES
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.
AUTHOR
Copyright (C) Angus J. C. Duggan 1991-1995
SEE ALSO
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)
TRADEMARKS
PostScript is a trademark of Adobe Systems
Incorporated.
BUGS
Psnup does not accept all DSC comments.