Metadata-Version: 2.1
Name: lanshark-django-xhtml2pdf
Version: 0.0.5
Summary: A Django app to generate pdfs from templates
Home-page: https://github.com/lanshark/lanshark-django-xhtml2pdf/
Author: Scott Sharkey
Author-email: ssharkey@lanshark.com
License: BSD License
Platform: OS Independent
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Dist: Django
Requires-Dist: xhtml2pdf

lanshark-django-xhtml2pdf
#########################

Attention
=============================

This is a fork of the https://github.com/xhtml2pdf/django-xhtml2pdf project.

This project is wrapper code between the django project and the xhtml2pdf
project, both have a few maintaining so maybe are not ideal for your project.

What it does is simply allow people to create xhtml2pdf templates using all the
cool django things like STATIC_URL etc.. (like one would for a webpage
template), and the utils function makes all the images and resources appear in
the pdf.

This release (0.0.5) supports Django 2.0, and Python 3.6.

NOTE:

While this project is being maintained on a limited basis for legacy projects,
we recommend strongly that new projects consider using
`WeasyPrint <https://weasyprint.org>`.

Usage
=====

Simply do the following::

    from django_xhtml2pdf.utils import generate_pdf

    def myview(response):
        resp = HttpResponse(content_type='application/pdf')
        result = generate_pdf('my_template.html', file_object=resp)
        return result

Class-based views
=================

You can use the provided PdfMixin with any view that subclasses TemplateView,
example::

    from django.views.generic.detail import DetailView
    from django_xhtml2pdf.views import PdfMixin
    from .models import Product

    class ProductPdfView(PdfMixin, DetailView):
        model = Product
        template_name = "product_pdf.html"

It will output the rendered content of the view in pdf.

Decorator
============

Simply do the following::

    from django_xhtml2pdf.utils import pdf_decorator

    @pdf_decorator
    def myview(request):
        return render(request, 'mytemplate.html')

Change the pdf file name::

    from django_xhtml2pdf.utils import pdf_decorator

    @pdf_decorator(pdfname='new_filename.pdf')
    def myview(request):
        return render(request, 'mytemplate.html')


