Skip to main content

The ReportLab PDF Library

Project description

(C) Copyright ReportLab Europe Ltd. 2000-2014. See LICENSE.txt for license details.

This is the ReportLab PDF Toolkit. It allows rapid creation of rich PDF documents, and also creation of charts in a variety of bitmap and vector formats.

This library is also the foundation for our commercial product Report Markup Language (RML), available in the ReportLab PLUS package. RML offers many more features, a template-based style of document development familiar to all web developers, and higher development productivity. Please consider trying out RML for your project, as the license sales support our open source development.

Contents of this file:

  1. Licensing

  2. Installation

    2.1 Source Distribution or Subversion

    2.2 Manual Installation without C Compiler (e.g. Windows)

    2.3 easy_install

    2.4 Windows installation

    2.5 Ubuntu and other Debian-based Systems

  3. Prerequisites / Dependencies

  4. Documentation

  5. Acknowledgements and Thanks

1. Licensing

BSD license. See LICENSE.txt for details.

2. Installation

In most cases, easy_install reportlab or pip install reportlab will do the job. Full details follow below for each platform.

2.1 General prerequisites

You need to have installed Python (versions 2.5 through 2.7), and ideally PIL with Freetype support; more notes on prerequisites follow below.

2.2. Where to get the code

Releases are available from the Python Package Index:

http://pypi.python.org/pypi/reportlab/

From March 2013, the code is being hosted in Mercurial on BitBucket. You can obtain the latest code from our Mercurial repository with:

hg clone http://bitbucket.org/rptlab/reportlab

Users of our commercial libraries, and/or anyone who registers on our site, can also access our commercial area which has exactly the same packages, paired with the matching commercial ones (rlextra); it is important to keep both in sync.

2.3 Windows Installer

We no longer make .exe or .msi files. We provide .whl files with compiled C extensions for all supported python versions at:

http://pypi.python.org/pypi/reportlab/

These can be installed using recent pip or other competent distribution packages. If you aren’t comfortable with the command line, we recommend pip-win:

https://sites.google.com/site/pydatalog/python/pip-for-windows.

This will NOT install the tests, examples and documentation. If you want to learn your way around the package or do development with it on Windows, we suggest you also download a source copy, unzip it and work with the examples/tests within that directory.

2.4 Mac OS

On Mac OS, you will need XCode with the Command Line Tools option installed in order to compile the C extensions. On Lion or later, type clang at a prompt; if you get command not found or similar, the C compiler is not installed.

We then recommend the brew installation tool to fetch open source packages. You should run:

brew install freetype

before instaling reportlab to ensure that the Python Imaging Library gets compiled with JPEG support.

Thereafter, you can install with easy_install reportlab or by fetching the source and using python setup.py install

2.5 Unix / Linux

On Unix and Mac OS we assume a C compiler is available to compile the C extensions.

On Ubuntu, you will need build-essential, libfreetype6-dev, python-dev and python-imaging. Most other Linux and xBSD distributions have packages with similar names.

Thereafter, you can use easy_install reportlab, pip install reportlab, or fetch the source and use python setup.py install.

From Ubuntu 12.04 desktop onwards, a copy of reportlab is already installed. Take care not to confuse it with any releases you download.

3. Prerequisites / Dependencies

This works with Python 2.5 - 2.7. Older versions are available going back to Python 1.5 or thereabouts.

There are no absolute prerequisites beyond the Python standard library; but the Python Imaging Library (PIL) is needed to include images other than JPG inside PDF files.

The C extension are optional but anyone able to do so should use _rl_accel as it helps achieve acceptable speeds when wrapping paragraphs and measuring text string lengths. The _renderPM extension allows graphics (such as charts) to be saved as bitmap images for the web, as well as inside PDFs.

4. Documentation

Naturally, we generate our own manuals using the library. In a ‘built’ distribution, they may already be present in the docs/ directory. If not, execute python genAll.py in that directory, and it will create three PDF manuals:

reportlab-userguide.pdf
reportlab-reference.pdf
reportlab-graphics-reference.pdf

These are also available in daily build form from the documentation page on our web site. The manuals are very useful ‘how-to’ examples if you are aiming to create long documents.

5. Test suite

Tests are in the tests/ directory. They can be executed by cd’ing into the directory and executing python runAll.py, or from python setup.py tests.

The tests will simply try to ‘import reportlab’. Be warned that if you already have a copy of reportlab installed (which happens by default in Ubuntu 12.04 desktop), it may try to run the installed reportlab and cause permission errors as it can’t generate PDF files without sudo rights.

If you do not have a copy insralled and run them prior to installation/compilation, there may be one or two failures from tests which exercise the C extensions that have not been compiled.

The tests mostly produce output files with the same name as the test, but extension .pdf. It is worth reviewing the list of test scripts as they provide valuable ‘how to’ information.

If you have no internet connection, one or two tests may fail where we try to load images from URLs. This is normal. The next release of this package will silently skip such tests using features only available in Python 2.7.

6. Demos

A small number of demo programs are included in demos/, none of which are particularly exciting, but which may have some intructional value. These were the first programs we wrote back in 2000.

The odyssey demo serves as our benchmark suite. If you download the full Odyssey text, you can generate a PDF of Homer’s Odyssey with either (a) no wrapping, (b) simple paragraphs or (c) paragraphs with enough artificial markup (bold/italic on certain words) to exercise the parser.

7. Acknowledgements and Thanks

lib/normalDate.py originally by Jeff Bauer.

Many, many contributors have helped out between 2000 and 2013. We try to keep a list in the first chapter of the User Guide; if you have contributed and are not listed there, please let us know.

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

reportlab-3.1.8.tar.gz (1.9 MB view details)

Uploaded Source

Built Distributions

reportlab-3.1.8-cp34-none-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.4Windows x86-64

reportlab-3.1.8-cp34-none-win32.whl (2.0 MB view details)

Uploaded CPython 3.4Windows x86

reportlab-3.1.8-cp33-none-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.3Windows x86-64

reportlab-3.1.8-cp33-none-win32.whl (2.0 MB view details)

Uploaded CPython 3.3Windows x86

reportlab-3.1.8-cp27-none-win_amd64.whl (2.1 MB view details)

Uploaded CPython 2.7Windows x86-64

reportlab-3.1.8-cp27-none-win32.whl (2.0 MB view details)

Uploaded CPython 2.7Windows x86

File details

Details for the file reportlab-3.1.8.tar.gz.

File metadata

  • Download URL: reportlab-3.1.8.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for reportlab-3.1.8.tar.gz
Algorithm Hash digest
SHA256 35177c86ad52a3a3a15678f2f442694f1ff909cc303364899e8ca241934a262b
MD5 820a9fda647078503597b85cdba7ed7f
BLAKE2b-256 91c57054174ee9e77e55c3da6c67f587ed798760a526a3d45592a6f3f3bc12f9

See more details on using hashes here.

File details

Details for the file reportlab-3.1.8-cp34-none-win_amd64.whl.

File metadata

File hashes

Hashes for reportlab-3.1.8-cp34-none-win_amd64.whl
Algorithm Hash digest
SHA256 1b195777f255277d1ac523fb7c001782c0337af614369a849493b194c64069d2
MD5 529f15de4f10092c4f34019357d6f972
BLAKE2b-256 5e4e50db831befc14cb133ed3da71b7234ae87fd54a76e65dad6e794152fa972

See more details on using hashes here.

File details

Details for the file reportlab-3.1.8-cp34-none-win32.whl.

File metadata

File hashes

Hashes for reportlab-3.1.8-cp34-none-win32.whl
Algorithm Hash digest
SHA256 268d1fffaee1dcd3ea88283434cf155519bbd816c188de302332729a0579c9cd
MD5 654ddfe132c373d139f3c9a854c80a39
BLAKE2b-256 fe9e28d1816b213680cf0645c653a04879641911a84228e395d78d0924e48105

See more details on using hashes here.

File details

Details for the file reportlab-3.1.8-cp33-none-win_amd64.whl.

File metadata

File hashes

Hashes for reportlab-3.1.8-cp33-none-win_amd64.whl
Algorithm Hash digest
SHA256 678c58c3e2269fd12f179d1a8fdf8de467d61fa389c32a17a47b1c764f43ab15
MD5 aac381b77826ea44876ea164fc7c0924
BLAKE2b-256 4c458f2a54a10d126cf23fc76958d06168ecf08f731974186b4b45402d830b75

See more details on using hashes here.

File details

Details for the file reportlab-3.1.8-cp33-none-win32.whl.

File metadata

File hashes

Hashes for reportlab-3.1.8-cp33-none-win32.whl
Algorithm Hash digest
SHA256 edaab0e2726c34b93dbd001d29d7d2e6a103a4ac4f3113551e4910bedfb2ed8d
MD5 c88b4b3875d1386ca0bbb79f813ce133
BLAKE2b-256 fb55c55b36339a26900fb39584bf94a3a27177eb122930112ecdae68a3fd62af

See more details on using hashes here.

File details

Details for the file reportlab-3.1.8-cp27-none-win_amd64.whl.

File metadata

File hashes

Hashes for reportlab-3.1.8-cp27-none-win_amd64.whl
Algorithm Hash digest
SHA256 b7707da6780af88ce81d9e5af856c706c2a65e0ec9b29e9cfdffb956f3891a6c
MD5 b16a9560e0eecee1c82be80637161b0f
BLAKE2b-256 faf3e13fb8e99aa97257b59c18ab17815c838d3ed84b1828f3002c984c787bd0

See more details on using hashes here.

File details

Details for the file reportlab-3.1.8-cp27-none-win32.whl.

File metadata

File hashes

Hashes for reportlab-3.1.8-cp27-none-win32.whl
Algorithm Hash digest
SHA256 94dd1e122a63acaa3527c1873a979746b1a302f8a4cc4599772ef8e8647e5b9e
MD5 71eae3135f1f3ff039dff5522a101bf1
BLAKE2b-256 9a184c927ad33d04995c3011ef165c72336b9230c664a8c21e98e2b152342d1f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page