gpt4 book ai didi

python - Pywin32 将 .docx 保存为 pdf

转载 作者:太空狗 更新时间:2023-10-29 21:05:37 34 4
gpt4 key购买 nike

我正在使用 Word 2013 自动将报告创建为 docx,然后将其另存为 pdf 格式。

但是当我调用函数 SaveAs2() 时,脚本会弹出“另存为”窗口并抛出此异常:

(-2147352567, 'Exception occurred.', (0, u'Microsoft Word', u'Command failed', u'wdmain11.chm', 36966, -2146824090), None)

这是我打开和另存为新文件的代码:

self.path = os.path.abspath(path)

self.wordApp = win32.Dispatch('Word.Application') #create a word application object
self.wordApp.Visible = False # if false hide the word application (app does't open but still usable)

self.document = self.wordApp.Documents.Open(self.path + "/" + documentRef) # opening the template file



absFileName = "D:\\test.pdf"
self.document.SaveAs2(FileName=absFileName,FileFormat=17)

我正在使用:python2.7 和 pywin32(内部版本 219)

有人知道为什么它不起作用吗?

最佳答案

有几个很好的库可以处理这个任务:

还有一个例子是做exactly this在这个 ActiveState 食谱中 Convert Microsoft Word files to PDF with DOCXtoPDF


如果您坚持使用Windows API,那么在这个秘诀Convert doc and docx files to pdf 中还有一个通过win32com 执行此操作的示例。


也可以使用 comtypes 来做到这一点(感谢 .doc to pdf using python)

示例:

import os
import sys


import comtypes.client


wdFormatPDF = 17


def covx_to_pdf(infile, outfile):
"""Convert a Word .docx to PDF"""

word = comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open(infile)
doc.SaveAs(outfile, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()

关于python - Pywin32 将 .docx 保存为 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30481136/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com