Django - 使用 XHTML2PDF 创建和存储 PDF 文件

Posted

技术标签:

【中文标题】Django - 使用 XHTML2PDF 创建和存储 PDF 文件【英文标题】:Django - Creating & Store PDF Files using XHTML2PDF 【发布时间】:2011-12-11 06:08:24 【问题描述】:

到目前为止,我们正在使用 Xhtml2PDF 动态生成 PDF 并在需要时输出到浏览器。现在我们的要求更改为只生成一次 PDF 并将其存储在服务器中。该链接应显示给用户以查看 PDF。您能否指出任何资源或 sn-ps 来实现这一目标?

【问题讨论】:

这和django有什么关系? @Dolph 该网络应用基于 Django,使用 XHTML2PDF 【参考方案1】:

这很容易做到。观察:

from django.core.files.base import ContentFile

# get_pdf_contents should return the binary information for
# a properly formed pdf doc.
pdf_contents = get_pdf_contents()

file_to_be_saved = ContentFile(pdf_contents)

item = Item.objects.get(pk=1)

item.myfilefield.save('blarg.pdf', file_to_be_saved)

get_pdf_contents 函数不应该太难编写 - 基本上采用您已经拥有的任何函数并将其切掉,然后再将结果汇集到 HttpResponse 对象中。如果您需要帮助,请发布您已有的代码。

【讨论】:

@Evan Brumley,你的get_pdf_contents() 回复了什么?我正在尝试做同样的事情,但无法使用 pisa.CreatePDF() 制作文件

以上是关于Django - 使用 XHTML2PDF 创建和存储 PDF 文件的主要内容,如果未能解决你的问题,请参考以下文章

Django easy_pdf 删除边距

使用 Django 和 Reportlab 从 HTML 生成 PDF

如何将html模板(带图像)转换为pdf?

Django/Python:使用正确的语言生成 pdf

Setuptools 无法使用来自 dependency_links 的链接

Django:使用 JSON 数据创建和保存模型