python - 在 Report Lab 中是否有获得 float div 的解决方法?

标签 python pdf pdf-generation reportlab xhtml2pdf

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

最佳答案

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

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

关于python - 在 Report Lab 中是否有获得 float div 的解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500237/

相关文章:

javascript - HTML2PDF 与 Nodemailer

python - 调整条形图上的颜色编码,以便所有值在 matplotlib 中都正确编码

python - 为什么此 Python 代码比其等效的 Clojure 代码更快

java - 将base64转换为PDF文件并传入JAVA中的Web服务

html - Google 嵌入式 PDF 缩放参数

Java iText 地理空间 PDF 导出器

html - 文本对齐 : justify; not working with wkhtmltopdf

java - 使用 iText 将 HTML 转换为 PDF

python - 使用 spaCy 提取两个连续的名词

python - 如何分别绘制多个图?