您可以在云端以编程方式轻松地将两个或多个 PDF 文档组合成一个 PDF 文件。它可以用于共享或打印合并在一个文件中的多个文档,而不是一个一个地处理所有文件。作为 Python 开发人员,您可以在 Python 应用程序中将两个或多个 PDF 文件合并为一个文件。在本文中,您将学习如何在 Python 中使用 REST API 合并 PDF 文件。
本文应涵盖以下主题:
PDF 合并 REST API 和 Python SDK
为了合并两个或多个 PDF 文件,我将使用 GroupDocs.Merger Cloud 的 Python SDK API。它允许您将两个或多个文档合并为一个文档,或将一个源文档拆分为多个结果文档。它还使您能够移动、删除、交换、旋转或更改整个页面或首选页面范围的纵向或横向页面方向。 SDK支持Word、Excel、PowerPoint, Visio、OneNote、PDF、HTML等所有流行文档格式的合并和拆分。
您可以在控制台中使用以下命令将 GroupDocs.Merger Cloud 安装到您的 Python 应用程序:
pip install groupdocs_merger_cloud
在执行上述步骤之前,请从 dashboard 获取您的 Client ID 和 Secret。获得 ID 和密码后,添加如下所示的代码:
client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"
configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
在 Python 中使用 REST API 合并 PDF 文件
您可以按照以下简单步骤在云端以编程方式组合两个或多个 PDF 文件:
上传 PDF 文件
首先,使用下面给出的代码示例将 PDF 文件上传到云端:
# 创建 API 实例
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)
# 上传示例文件
for filename in glob.iglob("C:\\Files\\upload\\*.pdf", recursive=True):
destFile = filename.replace("C:\\Files\\upload", "", 1)
# 检查文件是否已经存在
fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
if not fileExistsResponse.exists:
# 创建上传文件请求
request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
# 上传文件
file_api.upload_file(request)
因此,上传的 PDF 文件将在云端仪表板的 文件部分 中可用。
使用 Python 合并多个 PDF 文件
您可以按照以下步骤以编程方式轻松地将多个 PDF 文件合并为一个文件:
- 创建 DocumentApi 的实例
- 创建 JoinItem 的实例
- 为 FileInfo 中的第一个 JoinItem 提供输入文件路径
- 创建 JoinItem 的另一个实例
- 为 FileInfo 中的第二个 JoinItem 提供输入文件路径
- 添加更多 JoinItems 以合并两个以上的文件
- 创建 JoinOptions 的实例
- 添加已创建连接项的逗号分隔列表
- 设置输出文件路径
- 使用 JoinOptions 创建 JoinRequest 的实例
- 使用 JoinRequest 调用 DocumentAPI 的 join() 方法获取结果
以下代码片段显示了如何在 Python 中使用 REST API 合并多个 PDF 文件。
# 接口初始化
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)
# 源文件 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("ten-pages_1.pdf")
# 源文件 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("ten-pages_2.pdf")
# 定义连接选项
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "Output/joined.pdf"
# 创建加入请求
request = groupdocs_merger_cloud.JoinRequest(options)
# 合并文件
result = documentApi.join(request)
下载合并文件
上面的代码示例将合并后的 PDF 文件保存在云端。您可以使用以下代码示例下载它:
# API初始化
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
# 创建下载文件请求
request = groupdocs_merger_cloud.DownloadFileRequest("Output/joined.pdf", my_storage)
# 下载文件
response = file_api.download_file(request)
# 将下载的文件移动到您的工作目录
shutil.move(response, "C:\\Files\\")
使用 Python 合并多个 PDF 文件的特定页面
您可以按照下面提到的步骤以编程方式轻松地将多个 PDF 文件的特定页面合并到一个文件中:
- 创建 DocumentApi 的实例
- 创建 JoinItem 的实例
- 为 FileInfo 中的第一个 JoinItem 提供输入文件路径
- 定义要合并的页码列表
- 创建 JoinItem 的另一个实例
- 为 FileInfo 中的第二个 JoinItem 提供输入文件路径
- 定义起始页码和结束页码
- 定义页面范围模式
- 创建 JoinOptions 的实例
- 添加已创建连接项的逗号分隔列表
- 设置输出文件路径
- 使用 JoinOptions 创建 JoinRequest 的实例
- 通过 JoinRequest 调用 DocumentAPI 的 join() 方法获取结果
以下代码片段显示了如何在 Python 中使用 REST API 合并来自多个 PDF 文件的特定页面。
# 接口初始化
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)
# 源文件 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("Output/joined.pdf")
# 要合并的特定页面的页码
item1.pages = [1,2]
# 源文件 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
# 起始页码
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 = "Output/joined-pages.pdf"
# 创建加入请求
request = groupdocs_merger_cloud.JoinRequest(options)
# 合并页面
result = documentApi.join(request)
在线试用
请试用以下使用上述 API 开发的免费在线 PDF 合并工具。 https://products.groupdocs.app/merger/pdf
结论
在本文中,您了解了如何在云端合并多个 PDF 文件。您还学习了如何使用 Python 将多个 PDF 文档的特定页面合并到一个文件中。此外,您还学习了如何以编程方式将 PDF 文件上传到云端,然后从云端下载合并后的文件。 PDF 合并 REST API 还为 Cloud API 提供 .NET、Java、PHP、Ruby、Android 和 Node.js SDK 作为其 文档合并家族成员。您可以使用 文档 了解有关 GroupDocs.Merge Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。