如何使用 python 将 txt 文件或 PDF 转换为 Word 文档?

How to convert txt file or PDF to Word doc using python?

在 python 中有没有办法将 PDF(或文本文件)转换为 Word 文档?我正在为我的教授做一些网络抓取,原始文档是 PDF。我将所有 1,611 个文件都转换为文本文件,现在我们需要将它们转换为 Word 文档。我唯一能找到的是 Word-to-txt 转换器,而不是反向转换器。

谢谢!

您可以查看 python-docx。它可以使用 python 创建 Word 文档,因此您可以将文本文件存储到 word 中。 参见 python-docx - what-it-can-do

使用 python-docx 我能够非常轻松地将 txt 文件转换为 Word 文档。

这是我所做的。

from docx import Document
import re
import os

path = '/users/tdobbins/downloads/smithtxt'
direct = os.listdir(path)

for i in direct:
    document = Document()
    document.add_heading(i, 0)
    myfile = open('/path/to/read/from/'+i).read()
    myfile = re.sub(r'[^\x00-\x7F]+|\x0c',' ', myfile) # remove all non-XML-compatible characters
    p = document.add_paragraph(myfile)
    document.save('/path/to/write/to/'+i+'.docx')

您可以使用 GroupDocs.Conversion Cloud,它提供 Python SDK 用于 Text/PDF 到 DOC/DOCX 的转换和许多其他常见文件格式从一种格式到另一种格式的转换,而不依赖于任何第三方工具或软件。

这是示例 Python 代码。

# Import module
import groupdocs_conversion_cloud

# Get your app_sid and app_key at https://dashboard.groupdocs.cloud (free registration is required).
app_sid = "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"
app_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Create instance of the API
convert_api = groupdocs_conversion_cloud.ConvertApi.from_keys(app_sid, app_key)
file_api = groupdocs_conversion_cloud.FileApi.from_keys(app_sid, app_key)

try:

        #upload soruce file to storage
        filename = 'Sample.pdf'
        remote_name = 'Sample.pdf'
        output_name= 'sample.doc'
        strformat='doc'

        request_upload = groupdocs_conversion_cloud.UploadFileRequest(remote_name,filename)
        response_upload = file_api.upload_file(request_upload)
        #Convert PDF to Word document
        settings = groupdocs_conversion_cloud.ConvertSettings()
        settings.file_path =remote_name
        settings.format = strformat
        settings.output_path = output_name

        loadOptions = groupdocs_conversion_cloud.PdfLoadOptions()
        loadOptions.hide_pdf_annotations = True
        loadOptions.remove_embedded_files = False
        loadOptions.flatten_all_fields = True

        settings.load_options = loadOptions

        convertOptions = groupdocs_conversion_cloud.DocxConvertOptions()
        convertOptions.from_page = 1
        convertOptions.pages_count = 1

        settings.convert_options = convertOptions
 .               
        request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)
        response = convert_api.convert_document(request)

        print("Document converted successfully: " + str(response))
except groupdocs_conversion_cloud.ApiException as e:
        print("Exception when calling get_supported_conversion_types: {0}".format(e.message))