there is no place like ~

Booklet printing with Linux

This article describes how to print a booklet on a single-side printer. If your printer is able to handle duplex printing, then this page is probably not for you.

Converting the document to PostScript

The pstops utility used to reorder the pages requires a PostScript file in input. If you are working with a word processor that is capable of generating a PostScript output, use that option. Otherwise, there are many utilities out there to convert a file into PostScript format. Most of them are called xxx2ps or xxxtops. For PDF files I prefer using pdftops:

pdftops -level3 -paper A4 -expand document.pdf

If the result seems to have cropped borders, don't worry: you can still shrink the page content with the next command, pstops.

Separating even and odd pages

Once the document is in PostScript format, use the pstops command line utility to separate even and odd pages:

# generate a file with the even pages:
pstops "4:-3L@.7(21cm,0)+0L@.7(21cm,14.85cm)"

# generate a file with the odd pages:
pstops "4:1L@.7(21cm,0)+-2L@.7(21cm,14.85cm)"

This command uses A4 page size. If you are living in a part of the world that (still) uses legal or letter size formats then insert the right dimensions in the command. Use 4:-3L@.65(21.6cm,0)+0L@.65(21.6cm,19.73cm) for letter size and 4:-3L@.65(21.6cm,0)+0L@.65(21.6cm,25.17cm) for legal size.

If the original page was too big, then you can shrink it more using pstops. Just use a smaller number after each @ command, e.g. 4:-3L@.65(21cm,0)+0L@.65(21cm,14.85cm)

Printing the whole

It seems straightforward to print the booklet: first print, then insert the paper again to the printer and print

The devil is in the detail. In what orientation do you have to insert the second lot? One thing is certain: insert the paper with the page 1 on top of the stack of paper and the last page on the bottom. But must it be face-up or face-down? What about the orientation? I guess this depend on the printer you have and what slot you are using.

On my LaserJet 2100tn (careful about paper jams, especially if you are using Tray 1, the front slot!) I insert the sheets of paper in Tray 2 with the printed side upwards and with page 1 pointing to the front of the printer.