'NoneType' 对象在 windows 上没有属性 'SaveAs' docx2pdf

'NoneType' object has no attribute 'SaveAs' docx2pdf on windows

from docx2pdf import convert
import pythoncom 

#flask rest api
@app.route('/api_v1/get_pdf/',methods=['GET'])
def get_pdf():
    if threading.currentThread ().getName () != 'MainThread':
        pythoncom.CoInitialize () 
    convert(in_word,out_pdf )

我在 python 中使用 docx2pdf 将 docx 文件转换为 pdf,我的脚本需要在 windows 启动时执行(无需登录 windows)。在此模式下,脚本在转换为 pdf 'NoneType' object has no attribute 'SaveAs' 时会引发错误。我不知道问题出在哪里,但我认为这是因为某些服务在登录 windows 之前无法正常工作,但如果我 运行 登录 windows 后的脚本可以正常工作.那么我怎样才能让脚本在登录 windows 之前运行?

回溯:

'NoneType' object has no attribute 'SaveAs'
Traceback (most recent call last):
File "D:\xxxx\main.py", line 746, in get_pdf
convert(in_word,out_pdf )
File "C:\Python38\lib\site-packages\docx2pdf\__init__.py", line 106, in convert
return windows(paths, keep_active)
File "C:\Python38\lib\site-packages\docx2pdf\__init__.py", line 33, in windows
doc.SaveAs(str(pdf_filepath), FileFormat=wdFormatPDF)
AttributeError: 'NoneType' object has no attribute 'SaveAs'

docx2pdf 通过 运行 Microsoft Word 应用程序进行转换。如果没有用户登录,Word 将无法启动,即使它不会显示 UI。您将不得不找到另一个不使用 Word 的 docx 转换器。有几个选项,包括 pandoc。