pstops - shuffle pages in a PostScript file
pstops [ -q ] [ -b ] [ -wwidth ] [ -hheight ] [ -ppaper ] [ -dlwidth ] pagespecs [ infile
[ outfile ] ]
Pstops rearranges pages from a PostScript document, creating a new PostScript file. The
input PostScript file should follow the Adobe Document Structuring Conventions. Pstops
can be used to perform a large number of arbitrary re-arrangements of Documents, including
arranging for printing 2-up, 4-up, booklets, reversing, selecting front or back sides of
documents, scaling, etc.
pagespecs follow the syntax:
pagespecs = [modulo:]specs
specs = spec[+specs][,specs]
spec = [-]pageno[L][R][U][@scale][(xoff,yoff)]
modulo is the number of pages in each block. The value of modulo should be greater than 0;
the default value is 1. specs are the page specifications for the pages in each block.
The value of the pageno in each spec should be between 0 (for the first page in the block)
and modulo-1 (for the last page in each block) inclusive. The optional dimensions xoff
and yoff shift the page by the specified amount. xoff and yoff are in PostScript's
points, but may be followed by the units cm or in to convert to centimetres or inches, or
the flag w or h to specify as a multiple of the width or height. The optional parameters
L, R, and U rotate the page left, right, or upside-down. The optional scale parameter
scales the page by the fraction specified. If the optional minus sign is specified, the
page is relative to the end of the document, instead of the start.
If page specs are separated by + the pages will be merged into one page; if they are sepa-
rated by they will be on separate pages. If there is only one page specification, with
pageno zero, the pageno may be omitted.
The shift, rotation, and scaling are performed in that order regardless of which order
they appear on the command line.
The -w option gives the width which is used by the w dimension specifier, and the -h
option gives the height which is used by the h dimension specifier. These dimensions are
also used (after scaling) to set the clipping path for each page. The -p option can be
used as an alternative, to set the paper size to a3, a4, a5, b5, letter, legal, tabloid,
statement, executive, folio, quarto, 10x14 or _glibc, where latter one means the format of
the current locale. The default paper size is _glibc.
The -b option prevents any bind operators in the PostScript prolog from binding. This may
be needed in cases where complex multi-page re-arrangements are being done.
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 up or down with the rest of
Pstops normally prints the page numbers of the pages re-arranged; the -q option suppresses
This section contains some sample re-arrangements. To put two pages on one sheet (of A4
paper), the pagespec to use is:
To select all of the odd pages in reverse order, use:
To re-arrange pages for printing 2-up booklets, use
for the front sides, and
for the reverse sides (or join them with a comma for duplex printing).
These variables are specifying the papertype when used paper is _glibc. For
details see the locale(7) manpage.
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), fixp-
spps(1), fixtpps(1), fixwfwps(1), fixwpps(1), fixwwps(1), extractres(1), includeres(1)
PostScript is a trademark of Adobe Systems Incorporated.
Pstops does not accept all DSC comments.
PSUtils Release 1 Patchlevel 17 PSTOPS(1)