【问题标题】:Python & MS Word: Convert .doc to .docx?Python 和 MS Word:将 .doc 转换为 .docx?
【发布时间】:2017-07-20 23:27:24
【问题描述】:

我发现了几个与我相似的问题,但没有一个答案接近我所需要的。

规格:我正在使用 Python 3 并且没有 MS Word。我的编程机器运行的是 OS X,云机器也是 linux/ubuntu。

我正在使用python-docx 从每晚发送给我的.doc 文件中提取值。但是,python-docx 仅适用于 .docx 文件,因此我需要先将文件转换为该扩展名。

所以,我有一个 .doc 文件,我需要将其转换为 .docx。该脚本可能必须在云中运行,因此我无法安装任何类型的 Office 或类似 Office 的软件。这个可以吗?

【问题讨论】:

    标签: python linux ubuntu ms-word automation


    【解决方案1】:

    您正在使用 Linux/ubuntu,您可以使用 LibreOffice 的内置转换器。

    语法

    lowriter --convert-to docx *.doc
    

    示例

    lowriter --convert-to docx testdoc.doc
    

    这会将所有 doc 文件转换为 docx 并保存在同一文件夹中。

    【讨论】:

      【解决方案2】:

      您可以使用unoconv - 通用办公转换器。在 LibreOffice/OpenOffice 支持的任何文档格式之间进行转换。

      unoconv -d document --format=docx *.doc
      
      subprocess.call(['unoconv', '-d', 'document', '--format=docx', filename])
      

      【讨论】:

        【解决方案3】:

        Aspose.Words Cloud SDK for Python 可以将 DOC 转换为 DOCX。该包可以在任何平台上用Python打开、生成、编辑、拆分、合并、比较和转换Word文档,无需依赖MS Word。

        它是付费产品,但免费计划提供每月 150 次免费 API 调用。

        P.S:我是 Aspose 的开发布道者。

        # Import module
        import asposewordscloud
        import asposewordscloud.models.requests
        from shutil import copyfile
        
        # Get your credentials from https://dashboard.aspose.cloud (free registration is required).
        words_api = asposewordscloud.WordsApi(app_sid='xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx',app_key='xxxxxxxxxxxxxxxxxxxxxxxxx')
        words_api.api_client.configuration.host = 'https://api.aspose.cloud'
        
        filename = 'C:/Temp/02_pages.doc'
        dest_name = 'C:/Temp/02_pages.docx'
        #Convert RTF to text
        request = asposewordscloud.models.requests.ConvertDocumentRequest(document=open(filename, 'rb'), format='docx')
        result = words_api.convert_document(request)
        copyfile(result, dest_name)
        

        【讨论】:

          【解决方案4】:

          首先,您需要使用 Windows。如果这是一个可以接受的障碍,那么请继续阅读....

          接下来您需要安装Microsoft Office Compatibility Pack。

          现在下载并安装Microsoft Office Migration Planning Manager。

          要运行该工具,您需要创建一个控制程序的 .ini 文件。此blog post 提供了一个示例 .ini 文件和更多信息。 Microsoft here 提供了更详细的信息。

          【讨论】:

          • 谢谢。我没有说明我正在使用 linux/ubunutu。现已添加到帖子中。
          • 好的。我不认为这将是可能的。更新了您的标签以包含 Linux 和 Ubuntu。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-20
          • 2011-07-29
          • 1970-01-01
          • 2020-05-22
          • 1970-01-01
          相关资源
          最近更新 更多