2

我使用 xhtml2pdf Python 包生成 PDF。输出不是最优的。我使用浮动 div 来在页面上放置图像和文本。在 HTML 中这是可行的,但在 PDF 渲染之后,图像和文本会放在彼此下方,这不是我想要的。从网上冲浪我了解到 xhtml2pdf 使用的 Report Lab 包不能处理浮动 div。是否存在解决方法?我曾尝试通过 QT 进行 webkit 渲染,但生成的 PDF 质量低,即字符间距完全错误。

4

1 回答 1

1

如果使用 xhtml2pdf 无法达到您需要的结果,我建议您直接使用 ReportLab。ReportLab 包含对 RML 的支持,ReportLabs 自己的标记语言可以让您轻松创建格式化文本,并且有一个名为 Platypus 的支持库,它使用 Python 对象来表示文档部分和页面布局,使布局变得相当简单。

顺便说一句,您遇到问题的原因是 xhtml2pdf 本质上必须像 HTML 渲染引擎一样输出到 PDF 而不是直接输出到屏幕。由于为浏览器制作良好的渲染引擎需要很长时间和大量的努力,因此,xhtml2pdf 似乎也需要花费很多努力才能使其具有相似的质量。这并不是说 xhtml2pdf 不好,只是它需要时间才能像在浏览器中呈现一样好,如果 PDF 输出本身是你真正感兴趣的,我认为使用 ReportLab直接是更好的选择。

于 2012-05-09T13:35:36.420 回答