如何在 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中提取頁面有任何疑問,請隨時在論壇上提問。

也可以看看