I used pdftk (apt-get install pdftk) and pdfnup (apt-get install pdfjam).
The first thing to do was split my file into individual pages using:
pdftk ./book.pdf burst
which produced a file for each page named 'pg_dddd.pdf' where d = digit.
Assuming my book has a page number which is a multiple of 4 (56 in the case below), I used the following script to concatenate these pages together in the correct order:
NOTE: This code will over write the file 'booksig.pdf' with a file of reorganised pages.
#!/usr/bin/perl -w
use strict;
my $totalPages = 56;
my $processedPages = 0;
my $pageOrderStr = "";
while ($processedPages < $totalPages/2) { $pageOrderStr .= sprintf ("pg_%04d.pdf pg_%04d.pdf pg_%04d.pdf pg_%04d.pdf ", $totalPages - $processedPages, $processedPages + 1, $processedPages + 2, $totalPages - $processedPages - 1); $processedPages += 2; } my $catCMD = "pdftk $pageOrderStr cat output booksig.pdf"; print `$catCMD`;
this resulted in a pdf call 'booksig.pdf'.
The final step was to use pdfnup to write these pages back to back:
pdfnup --nup 2x1 booksig.pdf
Which produced a file 'booksig-2x1.pdf' which I sent to my duplex printer and then bound together.
To it printed correctly, I chose 'Flip on Short Edge' two-sided printing. Which is non-standard. Apparently.
UPDATE: Julian spotted an error which is now fixed.