Django 生成PDF文件
在这里,我们将学习如何使用Django视图设计和生成PDF文件。我们将使用ReportLab Python PDF库生成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,在其中提供附件和输出文件名的标题。
将响应参数传递给 canvas,并使用 drawstring 写入字符串,然后应用 save() 方法并返回响应。
// urls.py
path('pdf',views.getpdf)
将上面的代码设置在urls.py中调用视图函数。
运行服务器并在创建PDF文件的浏览器上访问此视图。请参见示例。
输出:
生成了一个PDF文件并准备好下载。下载文件并打开,它会显示我们写入的字符串消息。
此外,该库还包含了许多其他方法来动态设计和生成PDF。