在 Node.js 中將多個 PowerPoint 演示文稿合併為一個

在 Node.js 中將多個 PowerPoint 演示文稿合併為一個

PowerPoint 文件是由 Microsoft PowerPoint 開發的演示文稿文件。在某些情況下,您可能需要合併兩個或多個 PowerPoint 演示文稿。例如,您需要合併幻燈片以使用以前創建的幻燈片來創建演示文稿以供數據參考,或者當不同的用戶正在處理同一主題時。組合 PowerPoint 幻燈片可幫助您保持信息的一致性並使您的 PowerPoint 演示文稿更加高效。今天,我們將學習如何在 Node.js 中將多個 PowerPoint 演示文稿合併為一個。

本文應涵蓋以下主題:

文檔合併 REST API 和 Node.js SDK

為了合併多個 PPTX 文件,我將使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它允許您從支持的文檔格式(例如 Word、Excel、PowerPoint, Visio 繪圖、PDF 和 HTML 等)中組合、提取、刪除和重新排列單個頁面或頁面集合。

您可以在控制台中使用以下命令將 GroupDocs.Merger cloud 安裝到您的 Node.js 應用程序:

npm install groupdocs-merger-cloud

在執行上述步驟之前,請從 dashboard 獲取您的 Client ID 和 Secret。獲得 ID 和密碼後,添加如下所示的代碼:

// 從 http://api.groupdocs.cloud 在您的節點應用程序中導入 Node.js SDK
global.groupdocs_merger_cloud = require("groupdocs-merger-cloud");
global.fs = require("fs");

// 從 https://dashboard.groupdocs.cloud 獲取 clientId 和 clientSecret(需要免費註冊)。
global.clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
global.clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
global.myStorage = "test-internal-storage";
const config = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

使用 REST API 在 Node.js 中合併多個 PowerPoint 演示文稿

您可以按照下面給出的簡單步驟,以編程方式將多個 PowerPoint 演示文稿組合到雲端的單個文件中:

  • 上傳PowerPoint文件到雲端
  • 合併 使用 Node.js 的多個 PowerPoint 文件
  • 下載合併後的PPTX Presentation

上傳 PowerPoint 文件

首先,使用下面給出的代碼示例將 PowerPoint 文件上傳到雲端:

// 構建FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// 從系統驅動器打開多個 pptx 文件文件夾。
let resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-pptx\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // 一個一個地讀取文件
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // 創建上傳文件請求
      let request = new groupdocs_merger_cloud.UploadFileRequest("nodejs-testing/" + file, fileStream, myStorage);
      // 上傳文件
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " file uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

因此,上傳的 PowerPoint 文件將在雲端儀表板的 文件部分 中可用。

使用 Node.js 合併多個 PowerPoint 文件

您可以按照下面提到的步驟以編程方式輕鬆地將多個 PPT 或 PPTX 文件合併為一個文件:

  • 創建 DocumentApi 的實例
  • 現在,創建第一個 JoinItem
  • 接下來,創建第一項FileInfo
  • 為 FileInfo 中的第一個 JoinItem 提供輸入文件路徑
  • 創建第二個 JoinItem
  • 創建第二項FileInfo
  • 為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑
  • 創建多個文件 JoinOptions
  • 添加逗號分隔的已創建連接項列表
  • 設置輸出文件路徑
  • 使用 JoinOptions 作為參數創建 JoinRequest
  • 通過調用 DocumentAPI 的 join() 方法獲取結果

以下代碼片段展示瞭如何在 Node.js 中使用 REST API 合併多個 PowerPoint 演示文稿:

// 如何使用 Node.js 合併 PowerPoint ppt/pptx 文件
const combine = async () => {

let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// 創建第一個連接項
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "nodejs-testing/sample-file1.pptx";

// 創建第二個連接項
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "nodejs-testing/sample-file2.pptx";

// 創建連接選項
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "nodejs-testing/joined-file.pptx";

  try {
    // 創建加入文檔請求
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

combine()
.then(() => {
  console.log("Successfully combined powerpoint pptx files: ");
})
.catch((err) => {
  console.log("Error occurred while merging the PowerPoint files:", err);
})
使用 Node.js 合併多個 PowerPoint 文件

使用 Node.js 合併多個PowerPoint 文件

下載合併文件

上面的代碼示例將合併後的 PowerPoint PPTX 文件保存在雲端。您可以使用以下代碼示例下載它:

// 構造FileApi下載合併後的文件
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// 創建下載文件請求
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/joined-file.pptx", myStorage);
// 下載文件和響應類型 Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // 將文件保存在系統目錄中
        fs.writeFile("H:\\groupdocs-cloud-data\\joined-file.pptx", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

如何使用 Node.js 合併特定的 PowerPoint 幻燈片

您可以按照以下步驟以編程方式輕鬆地將多個 PPTX 文件的特定幻燈片合併到一個文件中:

  • 首先,創建 DocumentApi 的實例
  • 接下來,創建第一個 JoinItem
  • 現在,創建第一個項目 FileInfo
  • 為 FileInfo 中的第一個 JoinItem 設置輸入文件路徑
  • 提供以逗號分隔的要合併的頁面列表
  • 創建第二個 JoinItem
  • 創建第二項FileInfo
  • 為 FileInfo 中的第二個 JoinItem 設置輸入文件路徑
  • 現在,設置 startPageNumber 值
  • 接下來,設置 endPageNumber 值
  • 創建多個文件 JoinOptions
  • 添加逗號分隔的已創建連接項列表
  • 設置輸出文件路徑
  • 使用 JoinOptions 作為參數創建 JoinRequest
  • 通過調用 DocumentAPI 的 join() 方法獲取結果

以下代碼片段顯示瞭如何在 Node.js 中使用 REST API 合併特定的 PowerPoint pptx 幻燈片:

// 如何使用 Node.js 合併特定的 ppt/pptx 文件幻燈片
const mergespecific = async () => {

  // 合併ppt/pptx api初始化
  let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

  // 創建第一個連接項
  let item1 = new groupdocs_merger_cloud.JoinItem();
  item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item1.fileInfo.filePath = "nodejs-testing/sample-file1.pptx";
  item1.pages = [3, 4];

  // 創建第二個連接項
  let item2 = new groupdocs_merger_cloud.JoinItem();
  item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item2.fileInfo.filePath = "nodejs-testing/sample-file2.pptx";
  item2.startPageNumber = 2
  item2.endPageNumber = 4

  // 創建連接選項
  let options = new groupdocs_merger_cloud.JoinOptions();
  options.joinItems = [item1, item2];
  options.outputPath = "nodejs-testing/joined-file.pptx";

  try {
    // 創建加入文檔請求
    let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
    let result = await documentApi.join(joinRequest);
  } 
  catch (err) {
    throw err;
  }
}

mergespecific()
.then(() => {
  console.log("Successfully merged pptx slides: ");
})
.catch((err) => {
  console.log("Error occurred while combining the PowerPoint files:", err);
})
如何使用 Node.js 合併特定的 PowerPoint 幻燈片

如何使用 Node.js 合併特定的 PowerPoint 幻燈片

在線試用

請試用以下免費在線PPTX合併工具,它是使用上述API開發的。

結論

在本文中,您已了解:

  • 如何在雲端合併多個 PowerPoint 文件;
  • 以編程方式將 PowerPoint 文件上傳到雲端;
  • 如何在 Node.js 中使用 REST API 將特定的 pptx 幻燈片合併到一個文件中;
  • 以編程方式從雲端下載合併文件;

API 還使您能夠重新排序或替換文檔頁面、更改頁面方向、管理文檔密碼以及對任何支持的文件格式輕鬆執行其他操作。它還提供 .NET、Java、PHP、Ruby、Android 和 Python SDK 作為 Cloud API 的文檔合併系列成員。您可以使用 文檔 了解有關 GroupDocs.Merge Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。

問一個問題

您可以通過我們的 免費支持論壇 詢問有關如何合併 PPTX 幻燈片的問題

也可以看看