Generating PDF with reportLab in Django

Saijal Shakya
2 min readApr 27, 2019

--

There may a situation where you want to generate pdf with data in database. For now I would like to show you a demo of generating pdf with python dictionaries of list.

Data to Print in PDF

Steps of using reportLab in Django

  1. Activate your virtual environment.
source venv/bin/activate

2. Install reportLab.

pip install reportlab

To download libraries for python you can checkout PyPi. PyPi is one of the best repository of software for Python.

3. Create hyperlink to link django views

<a href="{% url 'generate-pdf' %}" target="_blank" class="btn btn-sm btn-success">Generate Pdf</a>

4. Create url

url('generate-pdf', views.generate_pdf, name='generate-pdf')

5. Import libraries in Django views.py

from io import BytesIOfrom reportlab.pdfgen import canvasfrom django.http import HttpResponsefrom reportlab.lib.pagesizes import letter, landscapefrom reportlab.lib.pagesizes import A4

6. Define a function in views.py

generate_pdf function in views.py

7. You are done. Output:

Output

8. Now you can customize according to your need.

Happy Coding :D

--

--