📜  Django PDF输出

📅  最后修改于: 2020-12-31 00:50:33             🧑  作者: Mango

Django PDF

在这里,我们将学习如何使用Django视图设计和生成PDF文件。为了生成PDF,我们将使用ReportLab Python PDF库来创建自定义的动态PDF。

它是一个开源库,可以在Ubuntu中使用以下命令轻松下载。

$ pip install reportlab

安装后,我们可以通过在视图文件中使用import关键字将其导入。

下面是一个简单的PDF示例,其中我们输出一个字符串消息“ Hello form javatpoint”。该库提供了画布和用于生成定制PDF的工具。参见示例。

// views.py

from reportlab.pdfgen import canvas
from django.http import HttpResponse

def getpdf(request):
    response = HttpResponse(content_type='application/pdf')
    response['Content-Disposition'] = 'attachment; filename="file.pdf"'
    p = canvas.Canvas(response)
    p.setFont("Times-Roman", 55)
    p.drawString(100,700, "Hello, Javatpoint.")
    p.showPage()
    p.save()
    return response

首先,提供MIME(内容)类型为application / pdf,以便输出生成为PDF而不是HTML,

设置Content-Disposition,在其中提供标头作为附件和输出文件名。

将响应参数传递到画布和绘制字符串,以在将字符串写入之后将其应用于save()方法并返回响应。

// urls.py

path('pdf',views.getpdf)

在urls.py中设置以上代码以调用view 函数。

运行服务器并在创建pdf文件的浏览器中访问此视图。请参阅示例。

输出:

PDF文件已生成,可以下载了。下载文件并打开它,它显示了我们编写的字符串消息。

除此之外,该库还包含许多其他方法来动态设计和生成PDF。