1、word文件 由doc转成docx格式,只需要下面三行代码
from win32com import client as wc
w = wc.Dispatch('Word.Application')
doc=w.Documents.Open(path1)
doc.SaveAs(path2,16)
2、在django项目中将上传的doc格式的word文件转成docx格式时报下方错误:
pywintypes.com_error: (-2147221008, '尚未调用 CoInitialize。', None, None)
按照网上的说法多线程里面使用win32com调用com组件的时候,需要用pythoncom.CoInitialize初始化释放资源但还是不行。
3、解决办法:创建多进程将上方三行代码丢到多进程中就ok啦!
views.py 文件中代码:
MyProcess = multiprocessing.Process(target=FormatToWord, args=(name,Suffix))
MyProcess.start()
MyProcess.join()
MyProcess.terminate()
新文件.py
def FormatToWord(name):
dictPath = f"{BASE_DIR}/WordFormat/Data/"
path1 = dictPath + name + '.doc'
path2 = dictPath + name + '.docx'
w = wc.Dispatch('Word.Application')
doc = w.Documents.Open(path1)
doc.SaveAs(path2, 16)
网友评论