PowerPoint 演示文稿是幻燈片的集合,其中每張幻燈片都可以包含文本、圖像、動畫和媒體等。通過將幻燈片一張一張復制並粘貼到主演示文稿中來合併 PowerPoint 演示文稿是一個耗時的過程。因此,GroupDocs 提供了 python 庫,可以在幾秒鐘內自動合併 PowerPoint 文件。您可以在雲端以編程方式輕鬆地將兩個或多個 PPTX 文件組合成一個 PowerPoint 文件。在本文中,我們將學習一個簡單的解決方案,了解如何在 Python 中組合和合併 PowerPoint PPT/PPTX 文件。
本文應涵蓋以下主題:
- Python PowerPoint Merger REST API - 安裝
- 使用 REST API 在 Python 中合併 PowerPoint PPTX 文件
- 用Python合併多個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 文件:
上傳 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 合併有任何疑問,請隨時在 免費支持論壇 上向我們提問。