在 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 合併有任何疑問,請隨時在 免費支持論壇 上向我們提問。

也可以看看