Skip to main content

Simple PDF generation for Python

Project description

build status Pypi latest version License: LGPL v3 codecov

Pull Requests Welcome first-timers-only Friendly -> come look at our good first issues

fpdf2

fpdf2 logo

fpdf2 is a minimalist PDF creation library for Python:

from fpdf import FPDF

document = FPDF()
document.add_page()
document.set_font('Arial', size=12)
document.cell(w=0, txt="hello world")
document.output("hello_world.pdf")

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!

Installation Instructions:

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 pyfpdf
python setup.py install

Features:

  • Python 3.6+ support (2.7 not supported since version 2.1)
  • 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

Documentation:

Also read the design-spec/tests, they're great.

Developers:

Please check the docs page dedicated to developpement.

Lets try to improve the Code Coverage statistic so that we can safely transition to external font and image libraries, and more...

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for fpdf2, version 2.2.0
Filename, size File type Python version Upload date Hashes
Filename, size fpdf2-2.2.0-py2.py3-none-any.whl (73.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size fpdf2-2.2.0.tar.gz (50.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page