我试图使用docx2pdf库将docx文件转换为pdf,使用以下代码:
from docx2pdf import convert
convert("generated.docx")正如所写的这里。但我有个错误:
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我还尝试过使用comtypes和pywin32进行转换,但是我得到了相同的错误。我从这里获取代码。
import sys
import comtypes.client
wdFormatPDF = 17
in_file = os.path.abspath("generated.docx")
out_file = os.path.abspath("generated.pdf")
word = comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open(in_file)
doc.SaveAs(out_file, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
---------------------------------
Traceback (most recent call last):
File "c:\Users\user\Desktop\folder\script.py", line 45, in <module>
doc.SaveAs(out_file, FileFormat=wdFormatPDF)
_ctypes.COMError: (-2147418111, 'Call was rejected by callee.', (None, None, None, 0, None))import sys
import win32com.client
wdFormatPDF = 17
in_file = os.path.abspath("generated.docx")
out_file = os.path.abspath("generated.pdf")
word = win32com.client.Dispatch('Word.Application')
doc = word.Documents.Open(in_file)
doc.SaveAs(out_file, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
---------------------------------
Traceback (most recent call last):
File "c:\Users\user\Desktop\folder\script.py", line 46, in <module>
doc.SaveAs(out_file, 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如何纠正此错误?或者请提出另一种将docx转换为pdf的方法。提前谢谢你
发布于 2022-04-27 11:23:05
改变:
word = win32com.client.Dispatch('Word.Application')至
import pythoncom
word = win32com.client.Dispatch('Word.Application', pythoncom.CoInitialize())发布于 2022-02-28 09:35:37
from docx2pdf import convert
inputFile = "document.docx"
outputFile = "document2.pdf"
file = open(outputFile, "w")
file.close()
convert(inputFile, outputFile)应该首先创建输出文件。
发布于 2022-12-02 07:42:14
我对这个问题的观察之一是,当在Microsoft中打开word文档时,当我们尝试为同一个Word文件执行转换()时,即发生此问题时。以防万一,如果文件打开,请关闭它并尝试。
https://stackoverflow.com/questions/71292585
复制相似问题