如何将多个word文档合二为一并保持格式

如何使用 Python 合并多个 Word 文档

使用 REST API 在云端以编程方式将两个或多个 word 文档 组合成一个 word 文件。我们的在线 docx 合并 API 提供了一种方便的解决方案,可以在线将多个 word 文档合并并合并为一个 word 文档,而不是一个一个地处理文件。作为 Python 开发人员,您可以在线将两个 word 文档合并为一个 word 文档。在本文中,您将学习如何使用 Python 合并多个 word 文档。

本文应涵盖以下主题:

Word 文档合并 REST API – Python SDK

要在线合并 word 文件,我将使用 GroupDocs.Merger Cloud 的 Python SDK API。它支持将两个或多个文件组合成一个 word 文档或从单个文档中提取文档页面。 Word 在线合并还允许您移动、删除、交换、旋转或更改整个页面或首选页面范围的页面方向,无论是纵向还是横向。此SDK支持所有流行文档格式的合并和拆分,如Word、Excel、PowerPoint, Visio、OneNote、PDF、HTML等。

使用以下命令安装 GroupDocs.Merger Python SDK 以在线合并 docx 文件:

pip install groupdocs_merger_cloud

在执行上述步骤之前,请从 dashboard 获取您的 Client ID 和 Secret。获得 ID 和密码后,添加如下所示的代码:

# 从 http://api.groupdocs.cloud 在你的 python 应用程序中导入 Python SDK
import groupdocs_merger_cloud

# 免费注册后,从 https://dashboard.groupdocs.cloud 获取 client_id 和 client_secret。
client_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# 获取文件 API 配置 
configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
storage_name = "MyStorage"

如何使用 REST API 在 Python 中合并 Word 文件

在云端在线合并word文档,我们将按照下面提到的简单步骤进行:

  1. 上传word文件到云端
  2. 合并 使用 Python 的 docx 文件
  3. 下载合并后的word docx文件

上传 Word 文件

首先,使用下面给出的代码示例将word文件上传到云端:

# 将Word文档上传到云存储
# 创建 API 实例
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)

# 上传示例文件
for filename in glob.iglob("H:\\groupdocs-cloud-data\\upload\\*.docx", recursive=True):
    destFile = filename.replace("H:\\groupdocs-cloud-data\\upload", "", 1)           
    # 检查文件是否已经存在
    fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:
        # 创建上传文件请求
        request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
        # 上传文件到云端
        response = file_api.upload_file(request)
        print(response.uploaded)

因此,上传的 word 文件将在云上仪表板的 文件部分 中可用。

使用 Python 合并多个 Word 文件

按照下面提到的步骤,以编程方式将在线 word 文件组合成一个文件:

  • 创建 DocumentApi 的实例
  • 创建 JoinItem 的实例
  • 为 FileInfo 中的第一个 JoinItem 提供输入文件路径
  • 创建 JoinItem 的另一个实例
  • 为 FileInfo 中的第二个 JoinItem 提供输入文件路径
  • 添加更多 JoinItems 以合并两个以上的文件
  • 创建 JoinOptions 的实例
  • 添加已创建连接项的逗号分隔列表
  • 设置输出文件路径
  • 使用 JoinOptions 创建 JoinRequest 的实例
  • 最后,通过使用 JoinRequest 调用 DocumentAPI 的 join() 方法来合并文件

下面的代码片段展示了如何使用Python在线将word文档合二为一:

# 如何在 Python 中合并 Word Docx 文件 
# 创建必要的 API 实例
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# 输入源文件 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("python-testing/word-one.docx")

# 输入源文件 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("python-testing/word-two.docx")

# 定义连接选项
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "python-testing/joined-files.docx"

# 创建加入请求
request = groupdocs_merger_cloud.JoinRequest(options)

# 合并 docx 文件
result = documentApi.join(request)
print("Successfully merged Word Docx files: " + str(result))

下载合并文件

现在你知道如何使用 python 合并 word 文档并保持格式化。您可以使用以下代码示例下载它:

# API初始化以下载转换后的文件
import shutil
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

# 创建下载文件请求
request = groupdocs_merger_cloud.DownloadFileRequest("python-testing\\joined-files.docx", storage_name)

# 下载转换后的文件
response = file_api.download_file(request)

# 将下载的文件移动到您的目录
shutil.move(response, "H:\\groupdocs-cloud-data\\")

在 Python 中合并多个 Word 文件的特定页面

接下来,按照以下步骤以编程方式将多个 word 文件的特定页面组合成一个文档:

  • 创建 DocumentApi 的实例
  • 创建 JoinItem 的实例
  • 为 FileInfo 中的第一个 JoinItem 提供输入文件路径
  • 在逗号分隔数组中定义页码列表
  • 创建 JoinItem 的另一个实例
  • 为 FileInfo 中的第二个 JoinItem 提供输入文件路径
  • 定义起始页码和结束页码
  • 将页面范围模式定义为 OddPages
  • 创建 JoinOptions 的实例
  • 添加已创建连接项的逗号分隔列表
  • 设置输出文件路径
  • 使用 JoinOptions 创建 JoinRequest 的实例
  • 最后通过JoinRequest调用DocumentAPI的join()方法合并word文件

以下代码片段显示了如何在 Python 中使用 REST API 将 word 文件的特定页面合并为一个页面:

# 如何在 Python 中合并多个 docx 文件的特定页面
# 创建和初始化 api 实例
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# 输入源文件 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("python-testing/word-one.docx")
# 要合并的特定页面的页码
item1.pages = [1,2]

# 输入源文件 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("python-testing/word-two.docx")
# 起始页码
item2.start_page_number = 2
# 结束页码
item2.end_page_number = 4
# 页面范围模式
item2.range_mode = "OddPages"

# 定义连接选项
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "python-testing/joined-pages.docx"

# 创建加入请求
request = groupdocs_merger_cloud.JoinRequest(options)

# 合并 docx 文件
result = documentApi.join(request)
print("Successfully merged Word pages: " + str(result))

免费在线合并 Word 文档

如何免费在线合并word文档?请尝试以下免费在线合并文档,它是使用上述 API 开发的。

结论

在本教程中,我们学习了:

  • 如何使用python在云端在线合并word文档;
  • 如何以编程方式上传和下载合并的文档文件;
  • 在 Python 中将多个 word 文档的页面在线合并为单个文件;

此外,您可以使用 文档 了解有关 GroupDocs.Merger Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之通信。此外,请参阅适用于 Python 的 GroupDocs.Merger Cloud SDK 此处示例

问一个问题

如果您对 Word 文档合并有任何疑问,请随时在免费支持论坛 上向我们提问。

也可以看看