12

一段时间以来,我一直在寻找能够创建 PDF 并与我当前在 Python 3 中的项目集成的东西。通常的参考是ReportlabpyPDF。但是这两个还不兼容 Python 3。我确实看到,自 2010 年以来,Reportlab 中一直在讨论有关该端口的问题,但截至今天我找不到任何有关该端口的参考。

另一种选择是使用 Python 3 中的中间格式,以便在另一个程序中使用,并使用子进程调用进行包装。Relatorio 就是这样做的。我可能会考虑做类似的事情,甚至生成 XHTML/CSS 并使用xhtml2pdf

4

7 回答 7

5

街区有一个新孩子,看起来很有前途。它支持打印 css 功能,如分页符。

试试weasyprint

于 2013-01-24T16:06:52.520 回答
4

带有pycairo (不是 py2cairo,用于 python 2)绑定的cairo库与python 3.x 一起使用,并且可以生成 PDF 输出(等等)。

于 2012-08-18T19:05:28.550 回答
3

最后,我发现很难使用 pycario/pango,pycairo 仍然错过了一些 png 的方法,并且 python3 还不太支持 PIL,还带有很多依赖项(使用 pycario 的想法)所以我最终移植了一个python 2库到python 3,不是很高级,但可以完成一些基本pdf的工作,它被称为py3fpdf

---更新--

事实证明,p3fpdf 没有完成 n_n' 的工作。所以说故事的结尾,我为apache fop做了一个预处理器,它叫做pypfop。我最近才与整个项目解耦,这是一项正在进行的工作,特别是文档,示例可能是说明性的。

于 2012-08-25T18:28:34.853 回答
2

尽管它不是免费软件,但您可以获得 HTML/CSS 路线并使用Prince 。

如果您的源不是太复杂,您也可以尝试纯 python 解决方案,如http://code.activestate.com/recipes/189858-python-text-to-pdf-converter/

于 2012-08-18T18:43:26.777 回答
0

你可以掏出并调用text2pdf

于 2012-08-18T20:41:00.977 回答
0

2.7 和 3.3 的端口目前正在进行中:

https://github.com/nakagami/reportlab

PIL 尚未移植到 Python3,因此 ReportLab 将无法完全运行。

于 2013-01-14T09:55:49.370 回答
0

Pillow 是 PIL 到 Python 3 的一个很好的移植,它现在可以在 Debian 实验版和 Ubuntu 13.04 中使用。这应该会解除对 ReportLab 的 Python 3 端口的阻塞,我很乐意看到。@nakagami:你的 github 报告对我来说似乎失败了,python3 setup.py build但它可能很肤浅。你的端口有多官方?您是否联系过 RL 人员,看看他们是否对您的工作感兴趣?我不认为他们的代码在公共 vcs 中可用。

于 2013-02-12T15:24:35.377 回答