Simple PDF generation for Python
Project description
-> come look at our good first issues
fpdf2
fpdf2
is a minimalist PDF creation library for Python:
from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
pdf.set_font('helvetica', size=12)
pdf.cell(txt="hello world")
pdf.output("hello_world.pdf")
It is a fork and the successor of PyFPDF
.
Compared with other PDF libraries, fpdf2
is simple, small and versatile, with advanced capabilities, and is easy to learn and extend.
It is also entirely writen in Python (no C is involved), and has only one dependency so far, to handle images: Pillow.
Development status: this project is mature and actively maintained.
We are looking for contributing developers: if you want to get involved but don't know how, or would like to volunteer helping maintain this lib, open a discussion!
Installation Instructions
pip install fpdf2
To get the latest development version:
# Linux only:
sudo apt-get install libjpeg-dev libpython-dev zlib1g-dev
# Linux and Windows:
git clone https://github.com/PyFPDF/fpdf2.git
cd fpdf2
python setup.py install
Features
- 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
- Arbitrary path drawing and basic SVG import
- Generate Code 39 & Interleaved 2 of 5 barcodes
- Cell / multi-cell / plaintext writing, automatic page breaks
- Basic conversion from HTML to PDF
- A templating system to render PDFs in batchs
- Images & links alternative descriptions
- Table of contents & document outline
- Optional basic Markdown-like styling:
**bold**, __italics__, --underlined--
- Clean error handling through exceptions
- Unit tests with
qpdf
-based PDF diffing and a high code coverage
We validate all our PDF samples using 3 different checkers:
Documentation
- Documentation Home
- Tutorial in several languages: English - Deutsch - español - हिंदी português - Русский - Italian - français
- Release notes: CHANGELOG.md
You can also have a look at the tests/
, they're great usage examples!
Developement
Please check the dedicated documentation page.
Contributors ✨
This library could only exist thanks to the dedication of many volunteers around the world:
This project follows the all-contributors specification (emoji key). Contributions of any kind welcome!
(screenshot from June 2021, click on the map above to access an up-to-date online version)
Community, related tools, alternative libraries
More about those in the documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fpdf2-2.5.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59c54a8b2a9fed71cbf81d9e59d5921258cb01b25532db47ae4f01b4759e558b |
|
MD5 | 35c603ff6c9b462235e31df112f0ca61 |
|
BLAKE2b-256 | d5eeaec523fd02bcb8bd4b07179a0ed9923bc1e8bd8b1bea475db9eac09145eb |