是否有任何Python 3模块来创建PDF文件?

时间:2012-08-18 18:33:12

标签: python python-3.x pdf-generation

我有一段时间寻找能够创建PDF并与我在Python 3中的当前项目集成的东西。通常的引用是ReportlabpyPDF。但是这两者还不兼容Python 3.我确实看到自2010年以来在Reportlab中有一些关于端口的discussion,但截至今天我找不到任何对该端口的引用。

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

7 个答案:

答案 0 :(得分:4)

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

尝试weasyprint

答案 1 :(得分:3)

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

答案 2 :(得分:3)

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

--- 更新 -

事实证明,p3fpdf没有完成n_n'的工作。因此,为了讲述故事的结尾,我将预处理器创建为apache fop,称为pypfop。我刚刚与整个项目分离,这是一项特别是文档的工作,示例可能是说明性的。

答案 3 :(得分:2)

你可以获得HTML / CSS路由并使用prince,虽然它不是免费软件。

如果您的来源不是太复杂,您也可以尝试使用http://code.activestate.com/recipes/189858-python-text-to-pdf-converter/

中的纯python解决方案

答案 4 :(得分:0)

你可以打电话给text2pdf

答案 5 :(得分:0)

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

https://github.com/nakagami/reportlab

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

答案 6 :(得分:0)

Pillow是Python 3的PIL非常好的端口,它现在可以在Debian实验和Ubuntu 13.04中使用。这应该取消阻止ReportLab的Python 3端口,我很乐意看到。 @nakagami:你的github报告似乎对python3 setup.py build失败了,但可能很浅。你的港口有多官方?你有没有联系过RL人,看他们是否对你的工作感兴趣?我不认为他们的代码在公共vcs中可用。