【问题标题】:Create PDF from Word template in Python在 Python 中从 Word 模板创建 PDF
【发布时间】:2013-06-06 00:53:04
【问题描述】:

我需要在 python 中生成报告。报告需要在每一页上包含页眉和页脚、一些不会更改的文本、一些动态的文本和一些图表。

我已经使用 Word 创建了一个模板,并且我正在寻找一种将 [+my_placeholder+] 等占位符替换为文本内容/图表/任何内容的方法。

有什么东西可以让我使用 Word 文档(或 Word 可以写的东西)作为模板在 Python 中创建 PDF 吗?由于我已经在 Word 中创建了示例报告,因此我想重用已有的内容,而不必使用 ReportLab 或 HTML 重新创建它们(我知道 ReportLab、pyPDF 和 xhtml2pdf)。

【问题讨论】:

  • 使用 HTML 模板而不是 .doc/.docx - 更好。
  • 对您的问题的简短回答是 - 否。使用模板语言创建模板。
  • @limelights - 这对我来说并没有好多少,因为我会有重复的工作:-)
  • 是的,但是实现一个 LibreOffice/OpenOffice 连接器来打开你的 word 文件并阅读,通过繁琐的 WordML 语言,插入数据,复制它然后尝试将其转换为 PDF 将比你的更多重复工作。
  • @limelights 是的,你可能是对的。我看看能不能把模板导出到别的地方。

标签: python


【解决方案1】:

关于第一部分,编辑word模板,你可以看看这个问题:Reading/Writing MS Word files in Python

有一个用于编辑word文件的包,叫做python-docx

为了将word文件转换成pdf文档,应该有多种不同的工具,包括命令行工具。因此,您可以使用 python 编辑文档,然后使用从 python 代码调用的转换器工具来创建 pdf。

【讨论】:

  • 谢谢,这看起来是个好主意。我可以以某种方式将模板中的样式导出到其中吗?而且我猜它不依赖于正在安装的 Word 二进制文件(即不使用 COM)?
  • 我自己没试过,所以你得看看。
猜你喜欢
  • 2012-05-17
  • 2019-03-22
  • 2020-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
  • 2023-04-02
相关资源
最近更新 更多