My father-in-law usually creates his newsletters pre-'booked' -- that is, two columns with the pages in the right place such that you can print and staple the newsletter. Unfortunately, this month we're using a printer that wants an un-booked PDF -- with one page per page, in the right order. I can re-order pages easily enough, but is there any way to take a PDF which is essentially 2-up and split the pages?

  • What application did you use to generate the pdf? InDesign? It's in the app you used that you'd specify the print configuration (2-up for booklet, newsletter, etc.). Just change the print config to single page output and regenerate the pdf.
    – burrowsrjl
    Nov 15, 2012 at 20:14
  • @burrowsrjl The booklet was generated using LibreOffice, but by putting two columns on each page so it folds nicely without setting any print config -- not my set-up :). Nov 16, 2012 at 15:44

1 Answer 1


for both raster and vector pdf content you can use this my script I named decutshuffler


decutshuffler filename.pdf

#a script that takes a 2-up booklet, cut in half the two halves, mix together one by one the pages from odd and even resulting pdf and finally reorder pages in sequential order
w="$(pdfinfo $filename | grep "Page size" | cut -d x -f1 | tr 'Page size:' ' ' | xargs)"
h="$(pdfinfo $filename | grep "Page size" | cut -d x -f2  | tr 'pts' ' ' | xargs)"
halfw="`echo "scale=0; $w / 2" | bc -l`"
pages="`pdftk $filename dump_data output |grep Pages|cut -f2 -d :`"
sed -e "s/$w $h/$halfw $h/g"<$filename>even.pdf
sed -e "s/0 0 $w $h/$w 0 $halfw $h/g"<$filename>odd.pdf
rule="$(for i in `seq 1 $pages`; do echo -n "A$i B$i "; done)"
pdftk A=even.pdf B=odd.pdf cat $rule output interleaved.pdf
doubled="`echo "scale=0; $pages * 2" | bc -l`"
pages4="`echo "scale=0; $doubled / 2" | bc -l`"
deshuf="$(for ((x=$doubled, y=1;x>=$pages4, y<=$pages4;x--, y++)); do echo "$x $y "; done |awk '{ print ; getline ; print $2, $1 }' | tr ' ' '\n' | cat -b | sort -n +1 -2| cut -f1 | tr '\n' ' '| xargs)"
pdftk interleaved.pdf cat $deshuf output deshuffled.pdf
pdftk deshuffled.pdf output fixed.pdf && mv fixed.pdf deshuffled.pdf
echo "file created!"

echo $pages
echo $deshuf
echo "halfw is $halfw"

exit 0

this script

  1. takes your pdf imposed as 2-up booklet as input

  2. split the source pdf into its two halves producing a file with odd pages and a file with even pages

  3. mix odd.pdf and even.pdf together into one file, taking, alternately, page 1 from odd, page 1 from even, page 2 from odd, page 2 from even... and so on...

  4. finally, it with a special rule, reorders the file into sequential order, so pages, instead to be (for a 16 pages long booklet)

16 1 2 15 14 3 4 13 12 5 6 11 10 7 8 9

are disposed sequentially in its natural order:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

  • Is there a general purpose solution that accepts ncols and nrows? I have 12x9=108 pages per sheet! Briss says image is too big. Here is the zipped up PDF.
    – mlt
    Apr 6, 2016 at 19:36
  • It seems like pdfcrop and mutool poster is for the rescue.
    – mlt
    Apr 6, 2016 at 21:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.