Skip to main content
# django-lightpdf

[![Build Status](https://travis-ci.org/claudiutopriceanu/django-lightpdf.svg?branch=master)](https://travis-ci.org/claudiutopriceanu/django-lightpdf)


Installation
------------

``django-lightpdf`` depends on pdfkit and wkthmltopdf (v0.12.2.1 recommended).

sudo apt-get update
sudo apt-get install -y xorg xfonts-75dpi
wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb
sudo dpkg -i wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb

pip install django-lightpdf


Configuration
-------------

We need to hook ``django-lightpdf`` into our project.

1. Put ``lightpdf`` into your ``INSTALLED_APPS`` in settings module::

```
INSTALLED_APPS = (
...
'lightpdf',
)
```

2. To control logging behaviour, add a ``LIGHTPDF_LOGGING_CONFIG`` dictionary to your settings file following ``logging.config.dictConfig`` schema.

3. Put a ``lightpdf`` formatter into your LOGGING['formatters'] or the default value will be used.

```
DEFAULT_LOGGING_FORMATTER = {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
}
```

4. Put a ``lightpdf`` handler into your LOGGING['handlers'] or the default value will be used.

```
DEFAULT_LOGGING_HANDLER = {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'lightpdf'
}
```

5. Put a ``lightpdf`` handler into your LOGGING['loggers'] or the default value will be used.

```
DEFAULT_LOGGER = {
'handlers': ['lightpdf'],
'level': 'INFO',
}
```

6. Add a ``LIGHTPDF_PDFKIT_OPTIONS`` dictionary that will be used as kwargs for ``pdfkit.from_string()`` or the default values will be used.

```
PDFKIT_OPTIONS = {
'page-size': 'Letter',
'margin-top': '1.2in',
'margin-right': '0.75in',
'margin-bottom': '1.2in',
'margin-left': '0.75in',
'encoding': "UTF-8",
'no-outline': None,
'quiet': '',
}
```


Usage
-----
```
from django.views.generic import TemplateView
from lightpdf.mixins import PdfGeneratorMixin


class PdfView(PdfGeneratorMixin, TemplateView):
template_name = 'blah.html'
pdf_name = 'superblah'

def get(self, request, *args, **kwargs):
return self.render_to_pdf_response()
```

Release files for django-lightpdf 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-lightpdf 0.1.1
File Size Uploaded
django-lightpdf-0.1.1.tar.gz 3.6 kB Details

Release files / django-lightpdf-0.1.1.tar.gz

Download URL django-lightpdf-0.1.1.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f288709e0d0a9d9f990e173bdbeb2505b344d24fb75b6778c635a62f939011c3
BLAKE2b-256 checksum
How to use checksums
731baa173eb196c836842f3ffa8d6a098f69782e0ca5cbdd618dc59b44896e08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page