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 :
Add blank pages in the beginning in the end
Adjust scale and margin.
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 :
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.
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.
Run the installer and follow the instructions.
Select appropriate Linux distribution, deb or rpm. Or use the tarballs if this is what suits you.
The pdf format is quite complex and the PyPDF2 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 has errors on particular pages because of an error in the gzip decompressor (returned code -5). PdfBooklet tries to continue, but the output page may be blank.
March 18th, 2017