-> come look at our good first issues
fpdf2 is a minimalist PDF creation library for Python:
from fpdf import FPDF document = FPDF() document.add_page() document.set_font('helvetica', size=12) document.cell(w=0, txt="hello world") document.output("hello_world.pdf")
It is a fork and the successor of
Compared with other PDF libraries,
fpdf2 is simple, small and versatile, with
advanced capabilities, and is easy to learn, extend and maintain.
Looking for Developer Help!
pip install fpdf2
To get the latest development version:
# Linux only: sudo apt-get install libjpeg-dev libpython-dev zlib1g-dev # libpython3.3-dev #(if necessary) # Linux and Windows: git clone https://github.com/PyFPDF/fpdf2.git cd fpdf2 python setup.py install
- Python 3.6+ support
- Unicode (UTF-8) TrueType font subset embedding
- Internal/External Links
- PNG, GIF and JPG support (including transparency and alpha channel)
- Shape, Line Drawing
- Generate Code 39 & Interleaved 2 of 5 barcodes
- Cell/Multi-cell/Plaintext writing, Automatic page breaks
- Basic conversion from HTML to PDF
- Clean error handling through exceptions
- Only one dependency so far: Pillow
- Unit tests with
qpdf-based PDF diffing
Release notes: CHANGELOG.md
You can also have a look at the
tests/, they're great usage examples!
Please check the docs page dedicated to development.
This library was only possible thanks to the dedication of the following people: CONTRIBUTORS.md.
Lets try to improve the Code Coverage statistic so that we can safely transition to external font and image libraries, and more...
For alternatives, check out this detailed list of PDF-related Python libs by Patrick Maupin. There is also