如何在 Python 中拆分 PowerPoint PPT 或 PPTX 幻灯片

如何在 Python 中拆分 PowerPoint PPT 或 PPTX 幻灯片

PPTX 是新 PowerPoint 演示文稿的默认演示文稿文件格式。 PPTX 内置了对加载和保存 PPT 文件的支持。 PowerPoint 文件也称为演示文稿。有时,您需要将冗长的 PowerPoint 演示文稿按幻灯片范围拆分为多个文件,或将所有 PowerPoint 幻灯片提取到多个 PPTX 文件。如果您手动将大型 PowerPoint 文件拆分为带有原始幻灯片的演示文稿,这将是一项耗时的任务。在本文中,我们将演示一个关于如何在 Python 中拆分 PowerPoint PPT 或 PPTX 幻灯片的简单解决方案。

本文应涵盖以下主题:

PowerPoint PPTX 拆分器云 API 和 Python SDK

要拆分 PowerPoint PPTX/PPT 幻灯片,我将使用 GroupDocs.Merger Cloud API 的 Python SDK。它允许您从 WordExcel、[Visio 绘图]支持的文档格式 中旋转、拆分、合并、删除和重新排列单个页面或页面集合 7PDFHTML。 Python 源代码存储库 可在 GitHub 上免费获得。

您可以使用 PyPI 中的 PIP 将 PowerPoint 拆分器安装到您的 Python 应用程序,方法是在终端中使用以下命令:

pip install groupdocs-merger-cloud

在执行以下提到的步骤之前,请从仪表板获取您的客户端 ID 和密码。获得 ID 和 Secret 后,将以下代码添加到您的应用程序中,将 PowerPoint 拆分为两个文件,如下所示:

# 导入groupdocs合并SDK
import groupdocs_merger_cloud

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

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

如何在 Python 中将 PPTX 拆分为多个单个幻灯片文件

您可以按照以下步骤在云端以编程方式拆分 PowerPoint PPT/PPTX 幻灯片。

上传文件

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

# 将 PPTX 文件上传到云存储
# 创建文件 API 的实例
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

# 调用上传文件请求
request = groupdocs_merger_cloud.UploadFileRequest("python-testing\sample-powerpoint.pptx", "H:\\groupdocs-cloud-data\\sample-powerpoint.pptx", storage_name)

# 上传pptx文件到云端
response = file_api.upload_file(request)
print(response.uploaded)

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

在 Python 中拆分 PowerPoint PPT/PPTX 幻灯片

您可以按照以下步骤以编程方式将任何 PPTX 文件的页面拆分为单独的 PowerPoint 幻灯片:

  • 首先,创建 DocumentApi 的实例。
  • 然后,创建 SplitOptions 的实例
  • 现在,创建 FileInfo 的一个实例
  • 将输入文件路径作为参数传递给 FileInfo
  • 接下来,提供输出文件路径
  • 在逗号分隔数组中设置特定页码
  • 现在,将 pptx 拆分模式设置为页面。它允许在逗号分隔的数组中拆分页码
  • 使用 SplitOptions 创建 SplitRequest
  • 最后,以 SplitRequest 作为参数调用 DocumentAPI.split() 方法并获得结果

以下代码片段显示了如何在 Python 中使用 REST API 拆分 PowerPoint 文件:

# 如何在 Python 中将 PPTX 拆分为多个单个幻灯片文件
try:
  # 创建文档 API 的实例
  documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(app_sid, app_key)

  options = groupdocs_merger_cloud.SplitOptions()
  options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-powerpoint.pptx")
  options.output_path = "python-testing"
  options.pages = [1, 3]
  options.mode = "Pages"
  
  result = documentApi.split(groupdocs_merger_cloud.SplitRequest(options))
  print("Successfully split powerpoint to single slides: " + str(result))
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))
Python 中的 PPTX 演示文稿

在 Python 中拆分 PowerPoint PPT/PPTX 演示文稿

下载分离文件

最后,上面的代码示例将使用 python 将分离的文件保存在云端。可以使用以下代码示例下载它:

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

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

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

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

在 Python 中按页面范围将 PowerPoint 拆分为单张幻灯片

您可以按照以下步骤以编程方式提供一系列页码来拆分 PowerPoint 文件页面:

  • 创建 DocumentApi 的实例
  • 然后,创建 SplitOptions 的实例
  • 现在,创建 FileInfo 的一个实例
  • 将输入文件路径作为参数传递给 FileInfo
  • 接下来,提供输出文件路径 as “python-testing”
  • 设置 start\page\number 和 end\page\number 值
  • 将 pptx 拆分模式设置为 Pages 以拆分 PowerPoint
  • 使用 SplitOptions 创建 SplitRequest
  • 最后,以 SplitRequest 作为参数调用 DocumentAPI.split() 方法

以下代码片段显示了如何使用 REST API 在 Python 中按精确页码拆分 PowerPoint 文件:

# 如何在 Python 中按页面范围将 PowerPoint 拆分为单张幻灯片
try:
  # 创建文档 API 的实例
  documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(app_sid, app_key)

  options = groupdocs_merger_cloud.SplitOptions()
  options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-powerpoint.pptx")
  options.output_path = "python-testing"
  options.start_page_number = 3
  options.end_page_number = 5
  options.mode = "Pages"

  result = documentApi.split(groupdocs_merger_cloud.SplitRequest(options))
  print("Successfully split powerpoint to single slides by slides range: " + str(result))
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

通过应用过滤器将 PowerPoint PPTX 拆分为多张单张幻灯片

您可以通过提供范围模式来分离 PPTX 幻灯片,并按照以下步骤以编程方式进行过滤:

  • 创建 DocumentApi 的实例
  • 然后,创建 SplitOptions 的实例
  • 现在,创建 FileInfo 的一个实例
  • 将输入文件路径作为参数传递给 FileInfo
  • 接下来,提供输出文件路径 as “python-testing”
  • 设置 start\page\number 和 end\page\number 值
  • 接下来,将范围\模式设置为“OddPages”
  • 将 pptx 拆分模式设置为 Pages 以拆分 PowerPoint
  • 使用 SplitOptions 创建 SplitRequest
  • 最后,以 SplitRequest 作为参数调用 DocumentAPI.split() 方法

以下代码片段显示了如何在 Python 中使用 REST API 应用过滤器来拆分幻灯片文件:

# 如何通过应用过滤器将 PowerPoint PPTX 拆分成多个单张幻灯片
try:
  # 创建文档 API 的实例
  documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(app_sid, app_key)

  options = groupdocs_merger_cloud.SplitOptions()
  options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-powerpoint.pptx")
  options.output_path = "python-testing"
  options.start_page_number = 3
  options.end_page_number = 7
  options.range_mode = "OddPages"
  options.mode = "Pages"  # options.mode = "Intervals"

  result = documentApi.split(groupdocs_merger_cloud.SplitRequest(options))
  print("Successfully split PPTX by range of slides using filter: " + str(result))
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

如何在 Python 中将 PowerPoint PPTX 拆分为多个多幻灯片文件

您可以按照以下步骤以编程方式将 PowerPoint 文件拆分为多页 PowerPoint 幻灯片:

  • 创建 DocumentApi 的实例
  • 然后,创建 SplitOptions 的实例
  • 现在,创建 FileInfo 的一个实例
  • 将输入文件路径作为参数传递给 FileInfo
  • 接下来,提供输出文件路径 as “python-testing”
  • 然后,以数组格式设置页面集合
  • 将 pptx 拆分模式设置为间隔以拆分 PowerPoint
  • 使用 SplitOptions 创建 SplitRequest
  • 最后,以 SplitRequest 作为参数调用 DocumentAPI.split() 方法

以下代码片段显示了如何在 Python 中使用 REST API 将 PowerPoint 文件拆分为多页 PowerPoint 幻灯片:

# 如何在 Python 中将 PowerPoint PPTX 拆分为多个多幻灯片文件
try:
  # 创建文档 API 的实例
  documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(app_sid, app_key)

  options = groupdocs_merger_cloud.SplitOptions()
  options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-powerpoint.pptx")
  options.output_path = "python-testing"
  options.pages = [3, 6, 8]
  options.mode = "Intervals"

  result = documentApi.split(groupdocs_merger_cloud.SplitRequest(options))
  print("Successfully split PowerPoint to multiple slides: " + str(result))
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

在线拆分 PowerPoint 文件

如何免费在线拆分ppt幻灯片?您可以尝试我们的免费在线 PowerPoint 拆分器 将 PowerPoint 文档拆分为固定页数或不同页面范围的多张 PPTX 幻灯片。多页 PPTX 文档被分成多个 PPTX 文件,保持原始文档的格式。

结论

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

  • 如何在云端用 Python 拆分 PowerPoint 演示文稿;
  • 如何在 Python 中将 PowerPoint 幻灯片拆分为单独的文件;
  • 如何以编程方式在 Python 中按精确数字拆分 ppt 幻灯片;
  • 如何以编程方式在 Python 中按范围模式拆分 ppt 文件;

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

问一个问题

如果您对如何在线将ppt拆分为多个文件或从ppt中提取页面有任何疑问,请随时在论坛上提问。

也可以看看