【问题标题】:Python convert doc to docxPython 将 doc 转换为 docx
【发布时间】:2017-09-19 08:54:14
【问题描述】:

我正在尝试将 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 上时却无法运行的原因可能是什么。

【问题讨论】:

  • 请提供完整的错误回溯。我怀疑您的 AWS EC2 实例上没有 soffice
  • 如何执行代码?您是否尝试过通过 cmd 行和要转换的文件所在的 python 调用它?

标签: python amazon-web-services


【解决方案1】:

您必须在使用此代码的计算机上安装 LibreOffice,并且在运行此代码之前必须关闭打开的 LibreOffice 实例,否则它将静默退出而不执行任何操作。 你也可以试试

unoconv -d document --format=docx *.doc

但它也依赖于 LibreOffice。它将通过 LibreOffice 转换文件。不完善,有些格式丢失了,但是会把所有的doc文件都转成docx

【讨论】:

  • 谢谢你,这有效。我没有安装 LibreOffice,这就是问题所在。
猜你喜欢
  • 2017-07-20
  • 1970-01-01
  • 2021-06-28
  • 2016-06-22
  • 1970-01-01
  • 2011-06-16
  • 2012-05-17
  • 2020-05-22
  • 2023-04-06
相关资源
最近更新 更多