从模板生成pdf的django应用程序

lanshark-django-xhtml2pdf的Python项目详细描述


注意

这是https://gitlab.com/lansharkconsulting/django/lanshark-django-xhtml2pdf项目的一个分支。

这个项目是django项目和xhtml2pdf之间的包装器代码 项目,两者都有一些维护,所以可能不是理想的项目。

它所做的只是允许人们使用所有 很酷的django东西,比如静态url等等。(就像一个网页一样 模板),而utils函数使所有图像和资源显示在 pdf。

这个版本(0.0.5)支持django 2.0和python 3.6。

注意:

虽然这个项目是在有限的基础上为遗留项目维护的, 我们强烈建议新项目考虑使用 WeasyPrint <https://weasyprint.org>

用法

只需执行以下操作:

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

基于类的视图

可以使用提供的PDFIXIN与子类TEMPPLATEVIEW的任何视图, 示例:

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"

它将以pdf格式输出视图的呈现内容。

装饰工

只需执行以下操作:

from django_xhtml2pdf.utils import pdf_decorator

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

更改pdf文件名:

from django_xhtml2pdf.utils import pdf_decorator

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JNLP无法在浏览器中正确启动(与dtjava.js一起部署)   在执行下一个方法之前,java将等待线程执行结束   java如何将另一个LayoutManager应用于JComboBox?(多栏JComboBox尝试)   使用jPBC在java中实现双线性配对   java在使用@RequestMapping注释时获取请求的值(URL)   java如何控制流量   java如何获取IFC对象的绝对坐标?   java目标服务器无法使用htmlunit和tor响应异常   java需要帮助创建一个循环结构来运行我的程序   java有可能拥有一个Android APK并在应用程序中更改构建变体吗?   在Sphinx4中运行Ant的java   Java:从ArrayList获取子列表的有效方法   java如何使在循环内部创建的数组在循环外部工作?   apache poi通过java中的XSSF表从单元格读取日期值   安卓 java自己的SeqLock实现,避免spinlock会更好吗?   java的并发底层方法。util。同时发生的预定未来   java比较方法违反了它的一般约定,如何使它具有可传递性?   使用JAVA定向指定类的DB导出子类   一个方法中的java更改特定imageView