我正在尝试将doc文件转换为docx。我在网上找到了此代码。
subprocess.call(['soffice', '--headless', '--convert-to', 'docx', filename])
document = docx.Document(path[:-4] + ".docx")
docText = ''.join([
paragraph.text.encode('ascii', 'ignore') for paragraph in
document.paragraphs
当我在自己的机器上使用它时,它可以很好地工作,但是我试图将其安装在这台AWS上。它在那里不起作用。我收到一条错误消息:“没有这样的文件或目录”。
它可能在我的计算机上运行的原因可能是什么,但是当我将其放在AWS上时却没有。
最佳答案
您必须在使用此代码的计算机上安装LibreOffice,并且必须在运行此代码之前关闭LibreOffice的打开实例,否则它将无提示退出而无任何操作。
您也可以尝试
unoconv -d document --format=docx *.doc
但它也依赖LibreOffice。它将通过LibreOffice转换文件。它是不完善的,并且丢失了某些格式,但是它将所有文档文件转换为docx。
关于python - Python将doc转换为docx,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46296014/