PdfBooklet 3.0.3

PdfBooklet is a Python script whose first purpose was to create booklet(s) from existing pdf files. It has been extended to many other functions in pdf pages manipulation.

There are already multiple software which create booklets, but none had all the features we needed for a precise printing :

All this is necessary when you want to print a pdf file in duplex (recto verso) because generally the margins are not correct and the even and odd pages don't correspond exactly, or the internal margin is too small and reading may be difficult (for a big book), or external margins are too small and the binder will have problems etc. Sending back the file to ask to correct the margins was a problem : you will ruin a layout if you change the margins of a file ! It was better to adjust the pdf itself. With PdfBooklet we can do a precise job in minutes, and since the software was useful for us, we decided to share it with others.

Install on Windows                  Install on LINUX                      Documentation



Probably some screenshots will be better that long explanations. The preview on the right is an exact preview of the result and shows you what you will get.





Transformations of single pages :



Pdf Booklet uses Pdf Shuffler (a well known application in Linux) as a page selector :



Pdf Shuffler for Windows is also installed as a standalone application.


Create a booklet or multiple booklets from a pdf file.

Extract pages from pdf files.

Print multiple pages on a single sheet (without limitations to the number of rows and columns)

Multiple copies of the same page are possible on the output sheet. Examples with four pages on a sheet :

    • Pages 1,2,3,4 / 5,6,7,8 & (one copy of each page)

    • Pages 1,2,1,2 / 3,4,3,4 & ( 2 copies of each page)

    • Pages 1,1,1,1 / 2,2,2,2 & (4 copies of each page)

Select pages to extract

Add blank pages anywhere in the output file

Transform pages :

    • Change margins

    • Scale

    • Rotate

      Multi files mode : All these operations are possible with pages from different Pdf files.



Vertical and Horizontal shift, Scale and rotation for particular pages defined by their page number or their position in the output sheet.

Different transformations can be applied on each page of a single sheet.


Quick discovery

The best way to understand what is pdfbooklet is to run it, open a pdf file, play with the buttons, and see what happens in the preview.


    • Windows

Run the installer and follow the instructions.

    • Linux

Select appropriate Linux distribution then expand his TAR file into selected directory.


The pdf format is quite complex and the pypdf library used by pdfBooklet does not support all the features of the pdf-format. Here are some known limitations :

LZW compression is not supported and will not be supported because it is a proprietary format and requires a license. Example : the documentation of PGP cannot be opened by PdfBooklet because it is compressed with LZW

Some Pdf files had errors on particular pages because of an error in the gzip decompressor (rturned code -5). PdfBooklet tries to continue, but the output page may be blank.

Some Pdf files, although correctly opened in PdfBooklet produce a huge output. Example : the Developer's guide of Open Office is a 17MB file which contains 1250 pages. Output from PdfBooklet is valid, but each page takes about 8MB. The file size would be 10GB ! The reason of this anomaly is that this file includes the resources of all pages (images, fonts &) in each page as a list. pyPdf extracts all resources, and add them not as a list but in full to each page which results in a huge waste of space.

Pdf format allows adding annotations which are not really embedded in the page but are a different layer. The pyPdf library does not take this into account, only the real  page is handled and annotations may disappear.

Previous revisions

Click here to access previous revisions


Click here to access SOFTPEDIA




December 31th, 2016