Booklet-Imposer is a class in python that organises and divides a PDF file, given as input, into an appropriate number of booklet-ready files. The graphical interface was developed in Python using Tkinter and is designed to avoid tedious manual operations.
- Intuitive graphical interface: GUI made with Tkinter creates a simple graphical window accessible even to non-expert users
- PDF file selection from interface: it allows the selection of the PDF file to be processed via the file system dialogue
- Output organised in separate bundles: it automatically splits the original PDF document into separate bundles to facilitate the collection of sheets in the same bundle
- Automatic blank page handling: it automatically adds the right number of blank pages to manage correct booklet layouts
- Setup for double-sided printing: it rearranges pages according to a double-sided printing scheme, ready to be folded and bound
- Customisable prefix for generated PDF files: each exported file has a customisable name with a progressive sequential number
- Automatic generation of information files (
.txt): it associates the set of output PDF files with a.txtfile containing some useful metadata - Robust error handling: it checks for invalid inputs, missing files or password-protected PDFs, with clear error messages
- Python 3.8 or higher
- Python modules:
tkinterPyPDF2pathlibttk(incluso intkinter)
You can install the necessary packages with
pip install -r requirements.txt-
Clone the repository to your local machine:
git clone https://github.com/LucaZepponi/booklet-imposer.git cd Booklet-Imposer -
run the application
python main.py
π» Running the application
- Make sure you have Python β₯ 3.8 installed on your system
- Install the required dependencies (see section π οΈ Installation)
- Start the programme:
python main.pyπ§© Passaggi nell'interfaccia
- Select the original PDF: click on
Sfoglianext toInput PDFand choose the file to be split into files - Choose output folder: click on
Sfoglianext toCartella di outputand choose where to save the files to be generated - Set the number of sheets per file: enter the desired number
- Prefix the output files: for example, with
file, files such asfile_1.pdf,file_2.pdf, etc. will be generated. - Click on
Crea fascicoli: the programme will process the PDF file and show the progress via a progress bar
Booklet-Imposer
βββ .gitignore
βββ main.py
βββ README.md
βββ requirements.txt