使用 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文档,我们将按照下面提到的简单步骤进行:
上传 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 文档合并有任何疑问,请随时在免费支持论坛 上向我们提问。