跳转至

pywin32使用技巧

文档格式转换

利用pywin32将word文档转换成其他格式,代码示例如下:

Python
docPath = os.path.join(path, file.name) # 这里填写原始文件路径
wordApp = DispatchEx('Word.Application') # 这里可以填写成kwps.Application,这样可以调用WPS进行转换
# 设置word不显示
wordApp.Visible = 0
wordApp.DisplayAlerts = 0
docxPath = os.path.splitext(docPath)[0] + '.docx' # 这里填写目标文件路径,包含文件名称
doc = wordApp.Documents.Open(docPath)
doc.SaveAs(docxPath, 12, False, '', True, '', False, False, False, False)
# doc.SaveAs(docxPath, 23) 这样就可以转换成odt格式
# 4、7都能转换成txt格式,但是不知道为什么,根据提示来看,7应该可以转换成UTF-8格式的,但是却并没有,12是转换成docx格式,11是转换成doc格式
doc.Close()
wordApp.Quit()

注意事项

  1. 运行时会提示没有实例化,这个时候需要运行以下的代码:
    Python
    import pythoncom
    pythoncom.CoInitialize()
    
  2. 传入的路径不能含有特殊符号,比如#等,否则会无法识别到文件,从而会报错

  3. 如果系统中只有libreoffice,就无法转换,只能使用UNO接口转换了

  4. 只能在Windows上使用