在本文中,我們將詳細討論如何將多個 PowerPoint 合併到一個演示文稿文件中。 PowerPoint 用於企業文化中的信息展示和簡報,商務人士和學生也使用它們來準備幻燈片放映。流行的另一個方面是創建教程、數字作品集、基本動畫或照片幻燈片創建。但是,當團隊在分佈式環境中工作時,我們可能會有合併 PowerPoint 演示文稿的需求。因此,本文闡明了使用 Java Cloud SDK 將多個 PowerPoint 組合成一個演示文稿的細節。
合併 PowerPoint API
為了以編程方式創建、編輯和導出 PPT 或 PPTX 為 PDF、JPEG、PNG 或 GIF等格式,我們開發了名為Aspose.Slides Cloud的低代碼API。其基於 REST 的架構使您能夠在任何平台上調用 API 例程。現在為了實現在Java應用程序中結合PowerPoint演示文稿的功能,我們專門創建了Aspose.Slides Cloud SDK for Java。因此,為了使用 SDK,您需要做的就是在 maven 構建項目的 pom.xml 中添加它的引用。
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>http://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides-cloud</artifactId>
<version>22.9.0</version>
</dependency>
</dependencies>
添加 SDK 參考後,下一個重要步驟是使用 Aspose Cloud 進行身份驗證。如果您沒有現有帳戶,請使用有效的電子郵件地址創建一個免費帳戶。然後使用新創建的帳戶登錄並在 Cloud Dashboard 查找/創建客戶端 ID 和客戶端密碼。在以下部分中,出於身份驗證目的需要這些詳細信息。
在 Java 中結合 PowerPoint
本節詳細介紹瞭如何使用 Java Cloud SDK 合併 powerpoint 演示文稿。請注意,為了合併 PowerPoint,輸入的 PowerPoint 可以從本地驅動器加載,從雲存儲加載,甚至直接從 Web URL 加載。請按照下面指定的說明進行操作。
- 首先,創建 SlidesApi 對象的對象,同時提供 ClientID 和 Client secret 作為參數
- 其次,創建一個 FileInfo 對象,我們在其中為第一個 PowerPoint 提供數據
- 第三,創建一個 ArrayList 的實例,它將保存要合併的 PPT 文件列表
- 下一步是為每個要合併的 PowerPoint 創建一個單獨的 PresentationToMerge 對象
- 現在為了從本地存儲加載 PowerPoint,我們需要使用 PresentationToMerge 枚舉中的 REQUEST 值
- 為了指定要合併的 PowerPoint 中的特定幻燈片,我們使用 setSlides(…) 方法
- 下一步是設置要合併的演示文件的順序,為此,我們將使用 OrderedMergeRequest 對象並使用其 setPresentations(..) 方法
- 最後調用 mergeAndSaveOnline(…) 方法合併 powerpoint 演示文稿並將生成的文件保存在雲存儲中
try
{
// 從 https://dashboard.aspose.cloud/ 獲取 ClientID 和 ClientSecret
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// 創建 SlidesApi 的實例
SlidesApi slidesApi = new SlidesApi(clientId,clientSecret);
// 收集要合併的演示文稿。
FileInfo fileInfo = new FileInfo();
// 讀取輸入演示
fileInfo.setData(Files.readAllBytes(Paths.get("TemplateCV.pptx")));
// 設置源 PowerPoint 的名稱
fileInfo.setName("TemplateCV.pptx");
// 創建 FileInfo 對象的數組列表
List<FileInfo> files = new ArrayList<FileInfo>();
// 將 FileInfo 對象添加到 Array 列表
files.add(fileInfo);
// 為要合併的第一個演示文稿準備信息。
PresentationToMerge presentation1 = new PresentationToMerge();
// 從本地驅動器讀取 PowerPoint
presentation1.setSource(PresentationToMerge.SourceEnum.REQUEST);
// 設置第一個 PowerPoint 文件的路徑
presentation1.setPath("TemplateCV.pptx");
// 指定我們需要合併的 PowerPoint 幻燈片
presentation1.setSlides(Arrays.asList(1, 2));
// 為要合併的第一個演示文稿準備信息。
PresentationToMerge presentation2 = new PresentationToMerge();
presentation2.setPath("Presentation1.pptx");
// 如果 PowerPoint 受密碼保護,則設置密碼詳細信息
///presentation2.setPassword("my_password");
// 將源指定為雲存儲
presentation2.setSource(PresentationToMerge.SourceEnum.STORAGE);
// 為要合併的第一個演示文稿準備信息。
PresentationToMerge presentation3 = new PresentationToMerge();
// PowerPoint 的路徑作為 Web URL
presentation3.setPath("https://github.com/aspose-slides-cloud/aspose-slides-cloud-java/blob/master/TestData/test-unprotected.pptx");
presentation3.setSlides(Arrays.asList(1));
// 將路徑值設置為 URL
presentation3.setSource(PresentationToMerge.SourceEnum.URL);
// 準備合併請求。
OrderedMergeRequest request = new OrderedMergeRequest();
// 設置 PowerPoint 演示文稿的合併順序
request.setPresentations(Arrays.asList(presentation1, presentation2));//, presentation3));
// 調用 API 合併 PowerPoint 並將輸出保存在雲存儲中
slidesApi.mergeAndSaveOnline("Merged.pptx", files, request, "internal"); // mergeOnline(files, request, null);
System.out.println("Merge PowerPoint successful !");
}catch(Exception ex)
{
System.out.println(ex);
}
上例中使用的示例文件可以從TemplateCV.pptx、Presentation1.pptx和Merged.ppt下載。
使用 cURL 命令合併 PowerPoint
cURL 命令與平台無關,可以在任何平台上執行。因此,本節分享有關如何使用 cURL 命令合併 PowerPoint 演示文稿的詳細信息。因此,這種方法的先決條件是,首先我們需要在執行以下命令時生成 JWT 訪問令牌(基於客戶端憑據)。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
一旦我們有了 JWT 令牌,下一步就是使用以下命令合併 PowerPoint 演示文稿。請注意,在以下命令中,我們正在合併第一個演示文稿和第二個演示文稿中的第一張幻燈片,第一張和第三張幻燈片被合併。合併的 PPTX 保存在雲存儲中。
curl -v -X PUT "https://api.aspose.cloud/v3.0/slides/merge?outPath=newResultant.pptx" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{ \"Presentations\": [ { \"Path\": \"Presentation1.pptx\", \"Password\": \"string\", \"Slides\": [ 1 ], \"Source\": \"Storage\" }, { \"Path\": \"test-unprotected.pptx\", \"Password\": \"string\", \"Slides\": [ 1,3 ], \"Source\": \"Storage\" } ]}"
結論
本文為我們提供了使用 Java Cloud SDK 組合 PowerPoint 演示文稿的詳細信息。除了 Java 代碼片段,我們還了解瞭如何使用 cURL 命令將多個 powerpoints 合併為一個的詳細信息。此外,我們強烈建議瀏覽產品 文檔 以了解 Cloud API 提供的大量驚人功能。另外請注意,我們所有的 Cloud SDK 都是在 MIT 許可下發布的,因此您可以考慮從 GitHub 下載完整的源代碼並根據您的要求進行修改。如有任何問題,您可以考慮通過免費的 產品支持論壇 聯繫我們尋求快速解決方案。
相關文章
請訪問以下鏈接以了解更多信息: