Node.js で複数の PowerPoint プレゼンテーションを 1 つに結合する

Node.js で複数の PowerPoint プレゼンテーションを 1 つに結合する

PowerPoint ファイルは、Microsoft PowerPoint によって開発されたプレゼンテーション ファイルです。場合によっては、2 つ以上の PowerPoint プレゼンテーションを結合する必要がある場合があります。たとえば、データ参照用に以前に作成したスライドショーを使用してプレゼンテーションを作成する場合や、異なるユーザーが同じトピックに取り組んでいる場合には、スライドを結合する必要があります。 PowerPoint スライドを結合すると、情報の一貫性が保たれ、PowerPoint プレゼンテーションの効率が向上します。今日は、Node.js で複数の PowerPoint プレゼンテーションを 1 つに結合する方法を学びます。

この記事では次のトピックについて説明します。

ドキュメント結合 REST API および Node.js SDK

複数の PPTX ファイルをマージするには、GroupDocs.Merger Cloud の Node.js SDK API を使用します。 Word、Excel、PowerPoint, Visio 図面、PDF、HTML などの サポートされているドキュメント形式 から単一ページまたはページのコレクションを結合、抽出、削除、再配置することができます。

コンソールで次のコマンドを使用して、GroupDocs.Merger クラウドを Node.js アプリケーションにインストールできます。

npm install groupdocs-merger-cloud

上記の手順に従う前に、ダッシュボード からクライアント ID とシークレットを取得してください。 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 プレゼンテーションを 1 つのファイルに結合できます。

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 => {
    // ファイルを 1 つずつ読み込む
    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 ファイルをプログラムで簡単に 1 つのファイルに結合できます。

  • DocumentApi のインスタンスを作成します。
  • ここで、最初の JoinItem を作成します。
  • 次に、最初の項目 FileInfo を作成します
  • FileInfo の最初の JoinItem の入力ファイル パスを指定します。
  • 2 番目の JoinItem を作成する
  • 2 番目の項目 FileInfo を作成します
  • FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
  • 複数のファイルを作成します。
  • 作成された結合項目のカンマ区切りリストを追加します
  • 出力ファイルのパスを設定する
  • 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";

// 2 番目の結合項目を作成する
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);
// ダウンロード ファイルと応答タイプ ストリーム
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 ファイルの特定のスライドをプログラムで簡単に 1 つのファイルに結合できます。

  • まず、DocumentApi のインスタンスを作成します。
  • 次に、最初の JoinItem を作成します。
  • ここで、最初の項目 FileInfo を作成します。
  • FileInfo の最初の JoinItem の入力ファイル パスを設定します。
  • 結合するページのカンマ区切りリストを指定します
  • 2 番目の JoinItem を作成する
  • 2 番目の項目 FileInfo を作成します
  • FileInfo の 2 番目の JoinItem の入力ファイル パスを設定します。
  • ここで、startPageNumber 値を設定します
  • 次に、endPageNumber 値を設定します
  • 複数のファイルを作成します。
  • 作成された結合項目のカンマ区切りリストを追加します
  • 出力ファイルのパスを設定する
  • 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];

  // 2 番目の結合項目を作成する
  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 スライドを結合する方法

オンラインで試す

上記APIを利用して開発された下記の無料オンラインPPTXマージツールをお試しください。

結論

この記事では、次のことを学びました。

  • クラウド上で複数の PowerPoint ファイルを結合する方法。
  • プログラムによって PowerPoint ファイルをクラウドにアップロードします。
  • Node.js の REST API を使用して特定の pptx スライドを 1 つのファイルにマージする方法。
  • マージされたファイルをクラウドからプログラムでダウンロードします。

また、この API を使用すると、ドキュメント ページの並べ替えや置換、ページの向きの変更、ドキュメントのパスワードの管理など、サポートされているファイル形式に対するその他の操作を簡単に行うことができます。また、クラウド API のドキュメント結合ファミリー メンバーとして、.NET、Java、PHP、Ruby、Android、および Python SDK も提供します。 GroupDocs.Merge Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて API を直接視覚化し操作できるようにする API リファレンス セクションも提供しています。

質問する

PPTX スライドを結合する方法についての質問は、無料サポート フォーラム から行うことができます。

関連項目