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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fpdf2-2.5.1.tar.gz.
File metadata
- Download URL: fpdf2-2.5.1.tar.gz
- Upload date:
- Size: 125.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
602f6485ef0156ffa1b39bc83ee5ca00c88d32e5be8651e6ade1a69b825a677e
|
|
| MD5 |
72258722244641af13759ff8ae36d249
|
|
| BLAKE2b-256 |
046ae5c35734af2a283f2b5e1c209b1f92351895ebc4caf384211777db67a0bc
|
File details
Details for the file fpdf2-2.5.1-py2.py3-none-any.whl.
File metadata
- Download URL: fpdf2-2.5.1-py2.py3-none-any.whl
- Upload date:
- Size: 204.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59c54a8b2a9fed71cbf81d9e59d5921258cb01b25532db47ae4f01b4759e558b
|
|
| MD5 |
35c603ff6c9b462235e31df112f0ca61
|
|
| BLAKE2b-256 |
d5eeaec523fd02bcb8bd4b07179a0ed9923bc1e8bd8b1bea475db9eac09145eb
|