Node.js を使用して PDF ファイルをオンラインで 1 つに結合およびマージする方法

Node.js を使用して PDF ファイルをオンラインで 1 つに結合およびマージする

場合によっては、より完全なファイルを作成するために、2 つ以上の PDF ファイルを結合する必要がある場合があります。たとえば、データ参照用に以前に作成したファイルを使用してドキュメントを作成する場合や、異なるユーザーが同じトピックに取り組んでいる場合には、PDF ファイルを結合する必要があります。 PDF ファイルを結合すると、情報の一貫性が保たれ、ドキュメントがより効率的に作成されます。コンテンツを手動でコピーして貼り付けたり、他のドキュメントからコンテンツをインポートしてドキュメントを結合したりするのは面倒な場合があります。したがって、Node.js REST API を使用してオンラインで PDF ファイルを 1 つに結合およびマージする方法を学びます。

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

オンライン ドキュメント マージャー REST API および Node.js SDK

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

コンソールで次のコマンドを実行すると、Node.js アプリケーションの GroupDocs.Merger クラウドが有効になります。

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";

Node.js を使用して PDF ファイルを 1 つに結合する

このセクションでは、以下の簡単な手順に従って、クラウド上でプログラムによって複数の PDF ファイルを 1 つのファイルに結合する方法を学習します。

PDF ファイルをアップロードする

まず、以下のコード例を使用して PDF ファイルをクラウドにアップロードします。

// FileApi を構築する
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// システム ドライブから IOStream 内のファイルを開きます。
let resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-pdf\\';

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);
        });
    });
  });
});

したがって、アップロードされた PDF ファイルは、クラウド上のダッシュボードの ファイル セクション からアクセスできるようになります。

Node.js を使用して複数の PDF をオンラインで 1 つに結合する

次に、以下の手順に従って、プログラムで複数の PDF ファイルを 1 つのファイルに結合します。

  • DocumentApi のインスタンスを作成します。
  • ここで、最初の JoinItem を作成します。
  • 次に、最初の項目 FileInfo を作成します
  • ファイル情報の最初の結合項目の入力ファイル パスを指定します。
  • 2 番目の JoinItem を作成する
  • 2 番目の項目 FileInfo を作成します
  • FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
  • 複数のファイルを作成します。
  • 作成された結合項目のカンマ区切りリストを追加します
  • 出力ファイルのパスを設定する
  • JoinOptions を引数として JoinRequest を作成する
  • 最後に、DocumentAPI の join() メソッドを呼び出して結果を取得します。

次のコード スニペットは、Node.js で REST API を使用して複数の PDF ファイルを結合する方法を示しています。

// Node.js を使用して PDF ファイルを 1 つに結合する方法
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.pdf";

// 2 番目の結合項目を作成する
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";

// 結合オプションを作成する
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "nodejs-testing/joined-file.pdf";

  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 PDF documents: ");
})
.catch((err) => {
  console.log("Error occurred while merging the PDF files:", err);
})

マージ PDF ファイルをダウンロード

結合された PDF ファイルは、上記のコード スニペットを使用してクラウド上に保存されます。次のコードサンプルを使用してダウンロードできます。

// マージされたファイルをダウンロードするための FileApi を構築する
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// ダウンロードファイルリクエストの作成
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/joined-file.pdf", myStorage);
// ダウンロード ファイルと応答タイプ ストリーム
fileApi.downloadFile(request)
    .then(function (response) {
        // ファイルをシステムディレクトリに保存します
        fs.writeFile("H:\\groupdocs-cloud-data\\joined-file.pdf", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

Node.js で複数の PDF ファイルのページを結合する方法

以下の手順に従って、複数の PDF ファイルの特定のスライドをプログラムで 1 つのファイルにすばやく結合できます。

  • まず、DocumentApi のインスタンスを作成します。
  • 次に、最初の JoinItem を作成します。
  • ここで、最初の項目 FileInfo を作成します。
  • FileInfo の最初の JoinItem の入力ファイル パスを設定します。
  • 結合するページのカンマ区切りリストを指定します
  • 2 番目の JoinItem を作成する
  • 2 番目の項目 FileInfo を作成します
  • FileInfo の 2 番目の JoinItem の入力ファイル パスを設定します。
  • ここで、startPageNumber 値を設定します
  • 次に、endPageNumber 値を設定します
  • 複数のファイルを作成します。
  • 作成された結合項目のカンマ区切りリストを追加します
  • 出力ファイルのパスを設定する
  • JoinOptions を引数として JoinRequest を作成する
  • DocumentAPI の join() メソッドを呼び出して結果を取得します

次のコード スニペットは、Node.js で REST API を使用して特定の PDF ファイルを結合する方法を示しています。

// Node.js で複数の PDF ファイルのページを結合する方法
const mergespecific = async () => {

  // PDF の結合 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.pdf";
  item1.pages = [1, 3];

  // 2 番目の結合項目を作成する
  let item2 = new groupdocs_merger_cloud.JoinItem();
  item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
  item2.fileInfo.filePath = "nodejs-testing/sample-file2.pdf";
  item2.startPageNumber = 2
  item2.endPageNumber = 4

  // 結合オプションを作成する
  let options = new groupdocs_merger_cloud.JoinOptions();
  options.joinItems = [item1, item2];
  options.outputPath = "nodejs-testing/joined-file.pdf";

  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 PDF documents specific pages: ");
})
.catch((err) => {
  console.log("Error occurred while combining the PDF files:", err);
})

PDF ファイルをオンラインで 1 つに無料で結合

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

結論

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

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

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

また、スタート ガイド を読むことをお勧めします。

さらに、groupdocs.cloud は新しいトピックに関する他のブログ記事を書いています。最新のアップデートにご注意ください。

質問する

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

よくある質問

Node.js を使用して複数のページを 1 つの PDF に結合するにはどうすればよいですか?

Windows で PDF ファイルを素早く簡単に結合する方法については、Node.js コード に従ってください。 API の詳細については、ドキュメントを参照してください。

関連項目

詳細については、次の記事を読むことをお勧めします。