在 Python 中组合和合并 PowerPoint PPT/PPTX 文件

在 Python 中组合和合并 PowerPoint PPT/PPTX 文件

PowerPoint 演示文稿是幻灯片的集合,其中每张幻灯片都可以包含文本、图像、动画和媒体等。通过将幻灯片一张一张复制并粘贴到主演示文稿中来合并 PowerPoint 演示文稿是一个耗时的过程。因此,GroupDocs 提供了 python 库,可以在几秒钟内自动合并 PowerPoint 文件。您可以在云端以编程方式轻松地将两个或多个 PPTX 文件组合成一个 PowerPoint 文件。在本文中,我们将学习一个简单的解决方案,了解如何在 Python 中组合和合并 PowerPoint PPT/PPTX 文件。

本文应涵盖以下主题:

Python PowerPoint 合并 REST API - 安装

要合并两个或多个 PPTX 文件,我们将使用 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 和密码后,添加如下所示的代码:

# 从 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 中合并 PowerPoint PPTX 文件

您可以按照以下简单步骤在云端以编程方式组合两个 PowerPoint PPT/PPTX 文件:

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

上传 PPTX 文件

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

# 将 PowerPoint 文件上传到云存储
# 创建 API 实例
import glob
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\\*.pptx", 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)

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

使用 Python 合并多个 PPTX 文件

您可以按照下面提到的步骤以编程方式轻松地将多个 PPTX 文件合并到一个文件中:

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

以下代码片段显示了如何使用 REST API 在 Python 中合并多个 PowerPoint 文件:

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

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

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

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

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

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

下载合并文件

上面的代码示例将合并后的 PPTX 文件保存在云端。您可以使用以下代码示例下载它:

# 用于下载合并文件的 API 初始化
import shutil
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

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

# 下载合并文件
response = file_api.download_file(request)

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

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

您可以按照下面提到的步骤以编程方式轻松地将多个 PowerPoint 文件的特定页面合并到一个文档中:

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

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

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

# 输入源文件 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("python-testing/powerpoint-one.pptx")
# 要合并的特定幻灯片的幻灯片编号
item1.pages = [1,2]

# 输入源文件 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("python-testing/powerpoint-two.pptx")
# 开始幻灯片编号
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-slides.pptx"

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

# 合并 pptx 文件
result = documentApi.join(request)
print("Successfully merged PPTX slides: " + str(result))

在线试用

如何在线结合PPTX?请尝试以下免费的在线PPTX合并工具,它是使用上述API开发的。

结论

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

  • 如何使用python在云端合并多个PPTX文件;
  • 以编程方式上传和下载合并的文件;
  • 如何在 Python 中将多个 PPTX 文件的特定页面组合成单个文件;

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

问一个问题

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

也可以看看