尝试使用 Python 将 .doc 转换为 .pdf 时出错

Error when trying to convert .doc to .pdf with Python

我一直在尝试使用 Python 将旧的 .doc 文件转换为 PDF,但我 运行 遇到了一些麻烦。这是我的代码:

import os 
import comtypes.client 

format_code = 17
file_input = os.path.abspath('(1)2014-06-18.doc')
file_output = os.path.abspath('test.pdf')

word_app = comtypes.client.CreateObject('Word.Application')
word_file = word_app.Documents.Open(file_input)
word_file.SaveAs(file_output,FileFormat=format_code)
word_file.Close()
word_app.Quit()

每当我执行它时,我得到:

Users/gawel/OneDrive/Desktop/scraping/doctotxt.py
Traceback (most recent call last):
  File "c:/Users/gawel/OneDrive/Desktop/scraping/doctotxt.py", line 10, in <module>
    word_file.SaveAs(file_output,FileFormat=format_code)
_ctypes.COMError: (-2147418111, 'Call was rejected by callee.', (None, None, None, 0, None))

我一直在努力研究这个错误可能意味着什么,但一直没有成功。任何帮助,将不胜感激。谢谢!

示例:

# Open Microsoft DOC 

app = client.Dispatch("Word.Application")
  
# Read Doc File
doc = app.Documents.Open('C:/Users/<User>/Downloads/document.docx')
  
# Convert into PDF File
doc.ExportAsFixedFormat('C:/Users/<User>/Downloads/document.pdf', 17, Item=7, CreateBookmarks=0)
app.Quit()

如果还是不行,请尝试删除路径中“gen”文件夹内的缓存文件:

C:\Users\AppData\Local\Programs\Python\Python39\Lib\site-packages\comtypes\gen

尝试使用环境中安装的 Microsoft Office 或 LibreOffice 的 msoffice2pdf 库。

https://pypi.org/project/msoffice2pdf/