ImportError:无法在python中导入名称COMError

时间:2016-05-11 11:40:55

标签: python python-2.7 pdf-generation

我正在尝试使用以下代码将docx文件转换为pdf

import sys
import os
import comtypes.client


wdFormatPDF = 17

in_file = os.path.abspath(sys.argv[1])
out_file = os.path.abspath(sys.argv[2])

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

抛出错误

ImportError: cannot import name COMError

我已经安装了comtypes包。

我是python的新手,我无法弄清楚如何解决这个问题。

[编辑]

堆栈跟踪

Traceback (most recent call last):
  File "converttopdf.py", line 3, in <module>
    import comtypes.client
  File "/usr/local/lib/python2.7/dist-packages/comtypes-1.1.2-py2.7.egg/comtypes/__init__.py", line 23, in <module>
    from _ctypes import COMError
ImportError: cannot import name COMError

1 个答案:

答案 0 :(得分:6)

不幸的是,COMTypes是专为Windows设计的,而不是Linux。

  

comtypes允许在纯Python中定义,调用和实现基于自定义和调度的COM接口。它适用于Windows,64位Windows和Windows CE。

Source

您可能需要找到另一种方式进行转换,可能是通过其他库。