如何使用Python创建Word文档?

50 投票
5 回答
99457 浏览
提问于 2025-04-15 12:27

我想用Python创建一个Word文档,但我希望尽量重用我现有的文档创建代码。目前,我使用XSLT生成一个HTML文件,然后通过编程方式将其转换成PDF文件。不过,我的客户现在要求将同样的文档提供为Word(.doc)格式。

到目前为止,我还没有找到什么好的解决办法。有没有人知道有什么开源库(或者*咳咳* 商业解决方案)可以帮助解决这个问题?

注意:所有可能的解决方案必须能在Linux上运行。我认为这就排除了pywin32。

5 个回答

2

1) 如果你想在现有的工作流程最后加一个步骤,现在有很多工具可以把PDF文件转换成Word文件。我没有试过123PDFConverter,但CNET的编辑们推荐了它(链接是一样的);它有免费试用版,并且支持自动化。就像任何第三方文件转换工具一样,效果可能会有所不同,这取决于你的PDF文件有多复杂,以及软件的实际表现如何。

2) 基于codeape提到的COM自动化建议,如果你使用COM自动化来操作Word,你可以在Word中打开你的HTML文件,然后调用“另存为”命令,把它保存为DOC文件。

35

我试过使用 python-docx,效果很好。这个工具可以让你在Python中创建和编辑docx文件。

39

有几种方法可以用Python创建Word文档:

编辑:

由于COM不适用,我建议以下方法(灵感来自@kcrumley的回答):

使用UNO库从Python自动化OpenOffice,打开HTML文件在OOWriter中,然后另存为.doc格式。

编辑2:

现在有一个纯Python的python-docx项目,看起来不错(我还没用过)。

撰写回答