我正在尝试将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上时它没有。
答案 0 :(得分:1)
您必须在使用此代码的计算机中安装LibreOffice,并且必须在运行此程序之前关闭LibreOffice的打开实例,否则它将以静默方式退出而不执行任何操作。 你也可以尝试
unoconv -d document --format=docx *.doc
但它也依赖于LibreOffice。它将通过LibreOffice转换文件。它不完美,有些格式会丢失,但它会将所有doc文件转换为docx