Python docx2pdf属性错误:Open.SaveAs

lmvvr0a8  于 2022-12-02  发布在  Python
关注(0)|答案(3)|浏览(444)

我尝试使用docx2pdf库将docx文件转换为pdf,使用以下代码:

from docx2pdf import convert

convert("generated.docx")

写为here。但我有一个错误:

Traceback (most recent call last):
  File "c:\Users\user\Desktop\folder\script.py", line 29, in <module>
    convert("generated.docx")
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\docx2pdf-0.1.8-py3.10.egg\docx2pdf\__init__.py", line 106, in convert
    return windows(paths, keep_active)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\docx2pdf-0.1.8-py3.10.egg\docx2pdf\__init__.py", line 33, in windows
    doc.SaveAs(str(pdf_filepath), FileFormat=wdFormatPDF)
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\win32com\client\dynamic.py", line 639, in __getattr__
    raise AttributeError("%s.%s" % (self._username_, attr))
AttributeError: Open.SaveAs

我也尝试用comtypespywin32进行转换,但是我得到了同样的错误。我从here中获取代码。
第一次
我如何修复这个错误?或者请建议另一种方法来转换docx到pdf。提前谢谢

ztmd8pv5

ztmd8pv51#

更改:

word = win32com.client.Dispatch('Word.Application')

import pythoncom
word = win32com.client.Dispatch('Word.Application', pythoncom.CoInitialize())
3df52oht

3df52oht2#

from docx2pdf import convert

inputFile = "document.docx"
outputFile = "document2.pdf"
file = open(outputFile, "w")
file.close()

convert(inputFile, outputFile)

应首先创建输出文件

but5z9lq

but5z9lq3#

我对这个问题的观察之一是,当Word文档在Microsoft Word中打开,当我们尝试为同一个Word文件执行convert()时,就发生了这个问题。在这种情况下,如果文件是打开的,请关闭它并尝试。

相关问题