安装和利用基于云的文件格式转换、操作 SDK 和 REST API。让我们学习如何通过几行代码合并 PowerPoint 文件。

如何合并 PPT

PPT 合并 Python - 如何合并 PPT

随着时间的推移,许多文档由组织中的不同人员创建,并出于长期存档的目的,它们被合并为一个统一的信息源。类似地,文档可能包含过多的细节,不能与所有人共享,因此根据需要,文档可以被拆分以便可以相应地共享。本文将讨论如何在 Python 中合并 PPT 的详细信息。

信息:如果您正在寻找在线合并PowerPoint演示文稿,您可以使用免费的在线工具,如Aspose PowerPoint Merger。对于合并或组合图像,您可能想查看Aspose Collage Maker

PPT 处理 SDK

Aspose.Slides Cloud 是我们的获奖 REST API,为用户提供创建、编辑、处理和保存主要 PowerPoint 格式的能力(包括但不限于 PPTXPPTPPSXPPTMODPOTP 等)到其他流行文件格式,包括 TIFFPDFXPSJPEGHTML 等。有关更多信息,请访问 Supported Document Formats。此外,它还使您能够执行多种其他操作,其详细信息可以在 Overview 中找到。

为了方便我们的客户特别是使用 Python 编程语言,我们创建了 Aspose.Slides Cloud SDK for Python,该 SDK 是 Aspose.Slides Cloud 的封装,这样您就可以在 Python 代码中获得 Cloud API 的所有功能。

安装

为了使用 Cloud SDK 合并 PowerPoint 文件,第一步是将其安装到您的系统中。SDK 可在 PIPGitHub 上下载。请运行以下命令从 pip 执行安装。

pip install asposeslidescloud

另一种方法是在使用 PyCharm 时直接在 IDE 中添加依赖项。请在 PyCharm ->Preferences… 部分的 Python 解释器窗口中搜索 asposeslidescloud。

合并 PowerPoint

帐户订阅

在本节博客中,我们将讨论如何在 Python 中合并 PPT,并查看帐户订阅。我们关心客户,并对数据完整性给予重要重视。因此,只有授权用户才能访问 API 以及他们云存储中的文档。因此,启用 PPT 合并 Python 库的第一步是通过访问 Aspose.Cloud dashboard 创建一个帐户。如果您有 GitHub 或 Google 帐户,只需注册即可。否则,请单击 Create a new Account 按钮并提供所需的信息。现在使用凭据登录到仪表板,从仪表板中展开应用程序部分,并向下滚动到客户端凭据部分以查看客户端 ID 和客户端密钥详细信息。

合并 PowerPoint

使用 cURL 命令合并 PowerPoint

Aspose.Slides REST API 可以通过终端上的 cURL 命令轻松访问。因此,为了使用 cURL 命令访问 API,我们需要首先根据从 Aspose.Cloud dashboard 获取的 ClientID 和 ClientSecret 详细信息生成 JSON Web Token (JWT)。为了设置这个 PowerPoint 合并器,请在终端中执行以下命令以生成 JWT 令牌。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

一旦生成了JWT令牌,请使用以下命令合并已在云存储中可用的PPT文件。提供的文件名将根据PresentationPaths参数被合并到源PPT文件中。为了合并,我们使用 PostPresentationMerge API。在下面的示例中,output.ppt是输入PowerPoint文档,而Presentation1.ppt是要合并的文件。

curl -X POST "https://api.aspose.cloud/v3.0/slides/output.ppt/merge" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"PresentationPaths\": [    \"Presentation1.ppt\"  ]}"

如何在 Python 中合并 PPT

以下代码片段是关于PPT合并Python库的,解释了合并两个或多个PPT文件并生成一个单一连接文件的步骤和细节。

  • 第一步是创建一个 Configuration 对象
  • 其次,将 Client ID 值设置为 appsid 属性,将 Client Secret 详细信息设置为 appkey 属性。
  • 在下一步中,初始化 SlidesApi 对象,同时将 Configuration 实例作为参数传递。
  • 现在创建一个 PresentationsMergeRequest 对象,同时传入要合并的演示文稿文件的名称。文件按传入名称的顺序合并。
  • 下一步是调用 PostPresentationmergeRequest 方法,该方法接受输入的 PPT 文件和要合并的 PPT 文件列表(如最后一行代码中指定)。
  • 最后,调用 SlidesApi 请求的 postpresentationmerge 方法
# 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret
configuration = asposeslidescloud.Configuration()
configuration.app_sid = "718e4235-8866-4ebe-bff4-f5a14a4b6466"
configuration.app_key = "388e864b819d8b067a8b1cb625a2ea8e"

# 初始化一个 SlidesApi 对象
slidesApi = asposeslidescloud.SlidesApi(configuration)

try:
    
    # input PPT file
    sourcePPT = "input.pptx"
    # 第一个要合并的 PPTX
    toMergePPT1 = "Presentation1.pptx"
    # 第二份 PPT 被合并
    toMergePPT2 = "test-unprotected.ppt"

    # 创建要合并的 PPT 文件列表
    mergeList = asposeslidescloud.models.PresentationsMergeRequest([toMergePPT1,toMergePPT2], None)
    
    # PPT 文件将按照 mergeList 中提供的顺序合并。
    request = asposeslidescloud.models.requests.PostPresentationMergeRequest(sourcePPT, mergeList, None, None,None)
    
    # 最后调用方法执行合并操作
    response = slidesApi.post_presentation_merge(request)
    
    # print the API response
    print("Result {0}".format(response))

使用 cURL 命令分割 PPT

我们还可以使用 cURL 命令将 PPT 文件拆分为单个 PowerPoint 演示文稿。请执行以下命令以满足此要求。

curl -X POST "https://api.aspose.cloud/v3.0/slides/test-unprotected.ppt/split?format=Pptx&from=2&to=3" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: application/json" \
-d "{  \"Format\": \"pptx\"}"

上述示例中使用的示例PPT可以从 test-unprotected.ppt 下载。

在 Python 中拆分 PPT

以下代码片段解释了如何将 PowerPoint 的每个幻灯片拆分为单独的演示文件的步骤。

  • 首先,创建一个 Configuration 对象
  • 其次,将客户端ID值设置为appsid属性,将客户端密钥详细信息设置为appkey属性。
  • 在下一步中,初始化 SlidesApi 对象,同时将 Configuration 实例作为参数传递。
  • 倒数第二,创建一个 PostSlidesSplitRequest API 的对象,该对象接受输入 PPT、输出格式值、从幻灯片到幻灯片的编号,针对其中将执行拆分操作。
  • 最后,调用 postslidessplit(..) 方法,并将上面创建的 PostSlidesSplitRequest 对象作为参数传递以启动 PPT 拆分操作。
# 从 https://dashboard.aspose.cloud/ 获取 ClientID 和 ClientSecret。
configuration = asposeslidescloud.Configuration()
configuration.app_sid = "718e4235-8866-4ebe-bff4-f5a14a4b6466"
configuration.app_key = "388e864b819d8b067a8b1cb625a2ea8e"

# 初始化一个 SlidesApi 对象
slidesApi = asposeslidescloud.SlidesApi(configuration)

try:
    # input PPT file
    sourcePPT = "test-unprotected.ppt"
    
    # 将 PPT 从第 2 幻灯片拆分到第 3 幻灯片
    request = asposeslidescloud.models.requests.PostSlidesSplitRequest(sourcePPT, None, "pptx", None, None, 2, 3, None, None, None, None, None)
    
    # 调用方法以拆分PPT
    response = slidesApi.post_slides_split(request)
    
    # print response of split operation
    print("Result {0}".format(response))

如果您需要将分割输出保存为其他格式,只需向 PostSlidesSplitRequest 对象提供相关参数。可能的值可以来自下面显示的列表

如何合并 PPT

结论

在本文中,我们讨论了如何将 PPT 文件合并成一个单一的文档,以及如何将 PowerPoint 的单独幻灯片拆分成单独的 PPT 文件。我们还介绍了如何使用 cURL 命令合并 PowerPoint。此 PowerPoint 合并器的 Cloud API 还可以通过网页浏览器中的 swagger interface 进行测试。此外,请注意,Aspose.Slides Cloud SDK for Python 的完整源代码是开源的,可以从 GitHub 下载。

如您对这个 PPT 合并 Python 库有任何相关查询,请随时通过 free customer support forum 联系我们。

相关链接

为了了解更多关于 Aspose.Slides Cloud API 提供的激动人心的功能,我们建议访问以下链接