Here is a Linux command to take a PDF of half-letter-sized pages (5.5"x8.5") and arrange them, two pages per side, for booklet printing:

$ pdftops -level3 source.pdf - | psbook | psnup -2 -W5.5in -H8.5in | ps2pdf - booklet.pdf

All of these utilities are standard on a Debian-based system. Several filters are tied together using pipes to produce a properly-formatted PDF.

A Closer Look

Here’s a pipe-by-pipe breakdown of the command:

$ pdftops -level3 source.pdf

convert the source PDF to a level 3 postscript file (this is necessary because the remaining steps require a postscript source file).

| psbook

rearrange the pages from the resulting postscript source file into the appropriate order for notebook printing.

| psnup -2 -W5.5in -H8.5in

read in the reordered source file and arrange the reordered pages so that two logical pages are printed on one physical sheet. If your source pages are a different size, change the values of the -W and -H options. You can use the -p option (or lowercase -w and -h) to specify the output page size, but on Debian-based systems this value is automatically read from /etc/papersize.

| ps2pdf - booklet.pdf

convert the resulting postscript file back into a PDF using the filename specified. This step is not necessary if you know that the machine you will print from can handle postscript files. If you leave this step out, replace it with > booklet.ps to write the output to a file named booklet.ps.

This method comes in handy because you don’t have to rely on printer driver options to handle the booklet reordering. In my experience, those driver options are terribly fussy and hard to work with. Further, many printer drivers don’t offer this ability.

I hope you find this info helpful.

Based on info from Scribus Wiki.

Update: I experienced a bug in postscript that was causing a single page to be rendered upside-down (rotated 180 degrees) when converted to PDF. Unable to trace the source of the bug, I did find out that filtering the postscript through ps2ps immediately after the initial conversion from PDF, fixed the problem. ps2ps is a postscript “distiller” which optimizes postscript into simpler form. This does result in the loss of anti-aliasing, which uglies up the result on the screen, but it does not affect printed copies.

If you experience rendering bugs, try adding ps2ps, as in the following command:

$ pdftops -level3 source.pdf - | ps2ps - - | psbook | psnup -2 -W5.5in -H8.5in | ps2pdf - booklet.pdf