Welcome to Pdfimpose’s documentation!¶
pdfimpose is a Python package that includes a library and command-line tool for
PDF imposition—the process of arranging pages on a printer’s sheet to simplify booklet
binding and reduce paper waste.
The package can handle any input paper size and supports seven imposition schemas: hardcover binding, saddle stitch, one page zine, etc.
Examples¶
2024 calendar(source, see LaTeX source file in sources repository).Imposition schemas (here are quick examples, more explanation can be found in Library):
cards:
examples/cards-impose.pdf(source);copycutfold:
examples/copycutfold-impose.pdf(source);cutstackfold:
examples/cutstackfold-impose.pdf(source);onepagezine:
examples/onepagezine-impose.pdf(source);hardcover:
examples/hardcover-impose.pdf(source);saddle:
examples/saddle-impose.pdf(source);wire:
examples/wire-impose.pdf(source).
Installation¶
From the PyPI * Using pip, for example, run:
python -m pip install pdfimpose
From source: * Download the source from Framagit.org * From the root of your local copy of the source code, run:
python -m pip install .
From Debian: * Install stdeb * Run:
python setup.py --command-packages=stdeb.command bdist_deb sudo dpkg -i deb_dist/python<PYVERSION>-pdfimpose_<VERSION>_all.deb
Printing¶
When
pdfimposehas to guess the the output paper size, it uses the A4 format. This is an (arbitrary) implementation detail, and might change in future releases.When printing an imposed PDF, it shall be printed two-sided, the binding edge on the left or right.
Alternative tools¶
I am far from being the first person to implement such an algorithm. I am fond of everything about pre-computer-era printing (roughly, from Gutenberg to the Linotype). Being also a geek, I wondered how to compute how the pages would be arranged on the printer’s sheet, and this project is the result.
Some (free) alternatives are
Those given on the list maintained by Scribus
PDF::Imposition (Perl module; I got the idea for some of the schemas from here)
pdfimpose sets itself apart from these other tools because it can handle any input or output paper size and seven imposition schemas: hardcover binding, saddle stitch, one page zine, etc.
Warning¶
Warning
The package documentation might be unclear in places because - I am not a printing expert (I am not even sure I deserve to be called a printing hobbyist). - English is not my first language. - The few things I inaccurately know about printing, I know in my first language only.
If you have time to spare, I would really appreciate some proofreading.