【问题标题】:How can I convert a HTML Page to PDF using Django如何使用 Django 将 HTML 页面转换为 PDF
【发布时间】:2014-07-09 03:28:00
【问题描述】:

我在 Django 中有一个网络应用程序。这是一个存储账单和发票的平台。现在我正在尝试以 PDF 格式导出这些账单。

我正在使用 xhtml2pdf,但它不起作用。

我正在使用此代码进行测试: http://obroll.com/generate-pdf-with-xhtml2pdf-pisa-in-django-examples/

它不会给出任何错误,但不会生成 PDF 文档。

【问题讨论】:

    标签: python django pdf


    【解决方案1】:

    尝试使用此代码。这个对我有用。 为您的模板更改“template_testing.html”并添加您的数据以在“data = {}”上呈现

    views.py:

    import os
    from django.conf import settings
    from django.http import HttpResponse
    from django.template import Context
    from django.template.loader import get_template
    import datetime
    from xhtml2pdf import pisa 
    
    
    def generate_PDF(request):
        data = {}
    
        template = get_template('template_testing.html')
        html  = template.render(Context(data))
    
        file = open('test.pdf', "w+b")
        pisaStatus = pisa.CreatePDF(html.encode('utf-8'), dest=file,
                encoding='utf-8')
    
        file.seek(0)
        pdf = file.read()
        file.close()            
        return HttpResponse(pdf, 'application/pdf')
    

    【讨论】:

    • 感谢您提供简洁实用的解决方案。当 css 代码和 html 在同一代码中时,它对我有用。但是,如果 css 代码存储在不同的文件夹中,则 css 都会被删除。您对此有何建议?
    • 值得注意的是,目前只有 Python 2.x 支持。如果导入 xhtml2pdf,Python 3 会抛出错误
    猜你喜欢
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 2011-01-13
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多