This is a sample of ReportLab applications and demos.

I’ve been doing a little reporting project, and I’ve been searching around for quite some time for a good graphing and charting solution for general-purpose use. I had come across ReportLab before, but it just looked so huge and convoluted to me, given the simplicity of what I wanted at the time, that I moved on. This time was different.

which version of reportlab do you prefer?

For more example code take a look at the  in ReportLab's subversion repository.

I have the following ReportLab code:

The first thing to notice about this code is that if we want to save the PDF, we need to supply a file name to the Canvas object. This can be an absolute path or a relative path. In this example, it should create the PDF in the same location that you run the script from. The next piece of the puzzle is the drawString method. This will draw text wherever you tell it to. When using the canvas object, it starts at the bottom left of the page, so for this example, we told it to draw the string 100 points from the left margin and 750 points from the bottom of the page (1 point = 1/72 inch). You can change this default in the Canvas constructor by passing a zero to the bottomup keyword argument. However, I’m not exactly sure what will happen if you do that as the Reportlab user guide isn’t clear on this topic. I think it will change the start point to the top left though. The final piece in the code above is to save your PDF.

easy_install ReportLab works for me.

ReportLab is both the name of a Python-based PDF generation toolkit, and the company that created it. Some functions need the Python Imaging Library (PIL).

ReportLab 3.3 is available. We believe it will be the default in Ubuntu 16.04
All those presents are wonderful, but now you have to write thank-you letters. Never fear, ReportLab's here! Use this wizard to crank out the letters quickly. I wanted to generate a simple booking confirmation PDF. Below is the result. ReportLab is certainly powerful enough to create these kind of docs. It is very flexible, but this flexibiliy comes at the price of some verbosity. I created a simple wrapper module to meet my requirements and perhaps yours. If you are a diver, book your next scuba holiday on web2py at . :) ReportLab builds solutions to generate PDFs, fast. We have our own very capable software library that can build custom PDF documents with dynamic content for users. We hope this tool serves as a simple example of what we do. Visit to see more examples of work we have done for our clients. You can login to our demo page, by clicking or on the tab in the above menu, to see a range of companies who have trusted ReportLab for generating their documents, and to experience how our system works.This demo site provides you with ReportLab’s Enterprise-level solutions you can try from your desktop.
Everything in it is proven technology; elements have been in production use in high volume environments for major financial institutions and others reputable organisations.
This time I needed a lot of the capabilities of ReportLab. I needed to generate PDFs (this is not a web-based project), I needed to generate charts, and I wanted the reports I was generating to contain various types of text objects in addition to the charts and such.
The ReportLab Toolkit. An Open Source Python library for generating PDFs and graphics.

easy_install ReportLab works for me.

The end result is for a line chart I am working on, and I know ReportLab has chart functions, but reportlabs charts/grid function(s) don't give me what I need for my project, so I have been forced to make my own grid with major/minor lines (maybe I missed something and open to alternative techniques, but currently it looks fine in PDF form, just not at the printer).

I took the cliff-dive into the depths of the ReportLab documentation. I discovered three things:

ReportLab - Content to PDF Solutions

Learn how ReportLab can dynamically display data the way you want it to, and get a taste for the almost limitless design options possible.

ReportLab 3.3 is available. We believe it will be the default in Ubuntu 16.04

reportlab 3.3.0 : Python Package Index

The other day I had an interesting task I needed to complete with Reportlab. I needed to create a PDF in landscape orientation that had to be rotated 90 degrees when I saved it. To make it easier to lay out the document, I created a class with a flag that allows me to save it in landscape orientation or flip it into portrait. In this article, we’ll take a look at my code to see what it takes. If you’d like to follow along, I would recommend downloading a copy of and (or ).