Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

pstops (1)


pstops - shuffle pages in a PostScript file


pstops  [ -q ] [ -b ] [ -wwidth ] [ -hheight ] [ -ppaper ] [ -dlwidth ]
pagespecs [ infile [ outfile ] ]


PSTOPS(1)                   General Commands Manual                  PSTOPS(1)

       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 specifi-
       cations  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 param-
       eter  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 separated 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 speci-
       fier, and the -h option gives the height which is used by the h  dimen-
       sion  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  or  10x14.   The  default
       paper size is a4.

       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 spec-
       ified 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 the page.

       Pstops normally prints the page numbers of the pages  re-arranged;  the
       -q option suppresses this.

       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).

       Copyright (C) Angus J. C. Duggan 1991-1995

       See attributes(7) for descriptions of the following attributes:

       |Availability   | image/psutils    |
       |Stability      | Volatile         |

       psbook(1), psselect(1), pstops(1), epsffit(1),  psnup(1),  psresize(1),
       psmerge(1),  fixscribeps(1),  getafm(1), fixdlsrps(1), fixfmps(1), fix-
       macps(1), fixpsditps(1), fixpspps(1),  fixtpps(1),  fixwfwps(1),  fixw-
       pps(1), fixwwps(1), extractres(1), includeres(1)

       PostScript is a trademark of Adobe Systems Incorporated.

       Pstops does not accept all DSC comments.

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  https://ftp.osuosl.org/pub/blfs/conglomera-

       Further information about this software can be found on the open source
       community website at https://github.com/rrthomas/psutils.

                                               PSUtils Release 1 Patchlevel 17