如何使用Python创建Word文档?
我想用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自动化,通过MS Word的对象模型来创建文档(需要用到
pywin32
库)。 http://python.net/crew/pirx/spam7/ - 用Python自动化OpenOffice: http://wiki.services.openoffice.org/wiki/Python
- 如果可以接受rtf格式,可以使用PyRTF库: http://pyrtf.sourceforge.net/
编辑:
由于COM不适用,我建议以下方法(灵感来自@kcrumley的回答):
使用UNO库从Python自动化OpenOffice,打开HTML文件在OOWriter中,然后另存为.doc格式。
编辑2:
现在有一个纯Python的python-docx项目,看起来不错(我还没用过)。