1PSTOPS(1) User Commands PSTOPS(1)
2
3
4
6 pstops - rearrange pages of a PostScript document
7
9 pstops [OPTION...] [INFILE [OUTFILE]]
10
12 Rearrange pages of a PostScript document.
13
14 The input PostScript file should follow the Adobe Document Structuring
15 Conventions.
16
17 Pstops can be used to perform arbitrary re-arrangements of documents.
18 For many tasks, it is simpler to use the other utilities in the PSUtils
19 suite: see psutils(1).
20
21 -S, --specs=SPECS
22 page specifications (see below)
23
24 -R, --pages=PAGES
25 select the given page ranges
26
27 -e, --even
28 select even-numbered output pages
29
30 -o, --odd
31 select odd-numbered output pages
32
33 -r, --reverse
34 reverse the order of the output pages
35
36 -p, --paper=PAPER
37 output paper name or dimensions (WIDTHxHEIGHT)
38
39 -P, --inpaper=PAPER
40 input paper name or dimensions (WIDTHxHEIGHT)
41
42 -d, --draw[=DIMENSION]
43 draw a line of given width (relative to original page) around
44 each page [argument defaults to 1; default is 0]
45
46 -b, --nobind
47 disable PostScript bind operators in prolog; may be needed for
48 complex page rearrangements
49
50 -q, --quiet
51 don't show page numbers being output
52
53 --help display this help and exit
54
55 -v, --version
56 display version information and exit
57
58 PAGES is a comma-separated list of pages and page ranges.
59
60 Each may be a page number, or a page range of the form first-last. If
61 first is omitted, the first page is assumed, and if last is omitted,
62 the last page is assumed. The prefix character ‘_’ indicates that the
63 page number is relative to the end of the document, counting backwards.
64 If just this character with no page number is used, a blank page will
65 be inserted. Page numbers refer to the pages as they occur in the
66 file, starting at one. The actual page number in the document may be
67 different.
68
69 SPECS is a list of page specifications [default is "0", which selects
70 each page in its normal order].
71
72 Pagespecs have the following syntax:
73
74 pagespecs = [modulo:]specs
75
76 specs = spec[+specs|,specs]
77
78 spec = [-]pageno[turns][@scale][(xoff,yoff)]
79
80 turns = turn[turns]
81
82 turn = L|R|U|H|V
83
84 modulo is the number of pages in each block. The value of modulo
85 should be greater than 0; the default value is 1.
86
87 specs are the page specifications for the pages in each block. The
88 value of the pageno in each spec should be between 0 (for the first
89 page in the block) and modulo-1 (for the last page in each block) in‐
90 clusive. If there is only one page specification, the pageno (0) may
91 be omitted.
92
93 The optional dimensions xoff and yoff shift the page by the specified
94 amount. xoff and yoff may either be lengths (see psutils(1)) or fol‐
95 lowed by w or h to indicate a multiple of the output paper width or
96 height.
97
98 The optional parameters L, R, U, H, and V rotate the page left, right,
99 or upside-down, and flip (mirror) the page horizontally or vertically
100 respectively. The optional scale parameter scales the page by the
101 fraction specified. If the optional minus sign is specified, the page
102 number is relative to the end of the document, instead of the start.
103
104 Pages whose specs are separated by + will be merged into a single page;
105 otherwise, they will remain as separate pages.
106
107 The shift, rotation, and scaling are applied to the PostScript trans‐
108 formation matrix in that order, regardless of the order in which they
109 appear on the command line.
110
111 Paper size names are converted to dimensions using paper(1). The out‐
112 put paper size, if set, is used (after scaling) to set the clipping
113 path for each page.
114
115 Exit status:
116 0 if OK,
117
118 1 if arguments or options are incorrect, or there is some other
119 problem starting up,
120
121 2 if there is some problem during processing, typically an error
122 reading or writing an input or output file.
123
125 To put two pages on one sheet of A4 paper, the pagespec to use is:
126
127 2:0L@.7(21cm,0)+1L@.7(21cm,14.85cm)
128
129 To select all of the odd pages in reverse order, use:
130
131 2:-0
132
133 To re-arrange pages for printing 2-up booklets, use
134
135 4:-3L@.7(21cm,0)+0L@.7(21cm,14.85cm)
136
137 for the front sides, and
138
139 4:1L@.7(21cm,0)+-2L@.7(21cm,14.85cm)
140
141 for the reverse sides (or join them with a comma for duplex printing).
142
144 Written by Angus J. C. Duggan and Reuben Thomas.
145
147 pstops does not accept all DSC comments.
148
150 Copyright © Reuben Thomas 2017-2023. Released under the GPL version 3,
151 or (at your option) any later version.
152
154 PostScript is a trademark of Adobe Systems Incorporated.
155
157 psutils(1), paper(1)
158
159
160
161pstops 2.10 February 2023 PSTOPS(1)