有没有人尝试在Django中使用html2pdf?

2 投票
3 回答
3838 浏览
提问于 2025-04-15 13:43

好的,当我用Java制作报告时,我会使用iReport来设计JasperReports的模板。

但是在Python中,有个替代工具叫做html2pdf - pisa。

如果能看到这个的例子就太好了。任何提示都很受欢迎。

3 个回答

1

这是我写的内容,但它回答了完全相同的问题,所以在这里链接一下。 http://uswaretech.com/blog/2008/10/generating-pdfs-with-django/

3

是的,http://www.xhtml2pdf.com 网站上有一个 Django 项目的示例哦 :)

4

我们正在开发的会计软件使用pisa来生成PDF报告。这个过程大致是这样的:

  1. 先渲染一个HTML模板。
  2. 把渲染出来的内容转换成PDF。你可以直接使用HttpResponse对象作为输出文件,或者用一个StringIO对象来存储PDF,然后通过HttpResponse发送它的内容。
  3. HttpResponse对象的类型要设置为application/pdf,如果你想让用户下载文件而不是在浏览器中显示,就需要使用Content-Disposition这个头信息。

Pisa使用一些独特的CSS属性来指定与PDF相关的格式设置(比如页面大小、分页等)。他们的文档里有足够的例子来说明这些。

Pisa渲染HTML/CSS的效果可能和我们在浏览器中看到的有很大不同。例如,在一个<table>上设置border="1"会让表格的所有单元格都有边框,而且边框总是会合并(border-collapse这个CSS属性没有效果)等等。

撰写回答