个性化阅读
专注于IT技术分析

Django生成PDF文件

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

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

$ pip install reportlab

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

下面是一个简单的PDF示例, 其中我们输出一个字符串消息“ Hello form srcmini”。该库提供了画布和用于生成定制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, srcmini.")
    p.showPage()
    p.save()
    return response

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

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

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

// urls.py

path('pdf', views.getpdf)

在urls.py中设置上述代码以调用视图功能。

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

输出:

django pdf

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

django pdf 1

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

赞(0)
未经允许不得转载:srcmini » Django生成PDF文件

评论 抢沙发

评论前必须登录!