多くの開発者は、Node.JS で複数の Word ドキュメントを結合して、統合レポートやパッケージを作成する必要があります。GroupDocs.Merger Cloud SDK for Node.js は、サーバー側で Word のマージを処理する強力な API を提供し、複雑なファイル処理コードが不要です。このガイドでは、完全な実装例、同等の cURL 呼び出し、インストール手順、そしてドキュメントを迅速にマージするためのベストプラクティスのヒントをご紹介します。

Node.JS で複数の Word ドキュメントを結合する - 完全なコード例

この例では、GroupDocs.Merger Cloud SDK for Node.js を使用して、3 つの DOCX ファイルを単一のドキュメントに結合する方法を示します。

const GroupDocsMergerCloud = require("@groupdocs/merger-cloud");

// ==== Configuration ====
// Replace with your actual credentials
const clientId = "YOUR_CLIENT_ID";
const clientSecret = "YOUR_CLIENT_SECRET";

const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
const mergeApi = new GroupDocsMergerCloud.MergeApi(config);

// ==== Input / Output paths ====
const inputFiles = [
    "documents/input1.docx",
    "documents/input2.docx",
    "documents/input3.docx"
];
const outputFile = "documents/combined_output.docx";

// ==== Build request ====
const documentEntries = inputFiles.map(path => {
    return new GroupDocsMergerCloud.Models.DocumentEntry({
        fileInfo: new GroupDocsMergerCloud.Models.FileInfo({
            filePath: path
        })
    });
});

const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
    documents: documentEntries,
    outputPath: outputFile
});

// ==== Execute merge ====
(async () => {
    try {
        const result = await mergeApi.mergeDocuments(mergeRequest);
        console.log(`Merge completed successfully. Output file: ${result.path}`);
    } catch (error) {
        console.error("Error during merging:", error);
    }
})();

注意: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(input1.docxcombined_output.docx など)を実際のファイル位置に合わせて更新し、必要な依存関係がすべて正しくインストールされていることを確認し、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。

cURL を使用した REST API での Word ドキュメントのマージ

純粋な REST アプローチを好む場合、同じマージ操作は cURL コマンドで実行できます。以下は、認証、ソースファイルのアップロード、マージの実行、結果のダウンロードを行う簡潔なワークフローです。

1. 認証してアクセストークンを取得

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/authenticate" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

レスポンスには、後続の呼び出しで使用される access_token が含まれています。

2. ソースファイルをアップロードする

マージしたい各DOCXファイルについてこの手順を繰り返します。

curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=documents/input1.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@path/to/input1.docx"

3. マージ操作の実行

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/merge" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
    "documents": [
        {"fileInfo": {"filePath": "documents/input1.docx"}},
        {"fileInfo": {"filePath": "documents/input2.docx"}},
        {"fileInfo": {"filePath": "documents/input3.docx"}}
    ],
    "outputPath": "documents/combined_output.docx"
}'

API はマージされたファイルのパスを返します。

4. 結合されたドキュメントのダウンロード

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=documents/combined_output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o combined_output.docx

リクエスト ペイロードとオプションの詳細については、公式 API ドキュメントをご覧ください。

Node.JS で複数の Word ドキュメントをマージする方法

SDKはマージプロセスをいくつかの論理的なステップに抽象化します:

  1. 構成作成 - new GroupDocsMergerCloud.Configuration(clientId, clientSecret) は認証コンテキストを構築します。 詳細は API Reference のクラス参照をご覧ください。

    const config = new GroupDocsMergerCloud.Configuration(clientId, clientSecret);
    
  2. API インスタンス - new GroupDocsMergerCloud.MergeApi(config) はマージ操作へのアクセスを提供します。

const mergeApi = new GroupDocsMergerCloud.MergeApi(config);
  1. ドキュメント エントリ - 各ソースファイルは DocumentEntry でラップされ、その中にファイルパスを持つ FileInfo が含まれます。

    const documentEntries = inputFiles.map(path => {
        return new GroupDocsMergerCloud.Models.DocumentEntry({
            fileInfo: new GroupDocsMergerCloud.Models.FileInfo({ filePath: path })
        });
    });
    
  2. マージリクエスト - MergeDocumentsRequest はエントリと目的の出力パスをバンドルします。

    const mergeRequest = new GroupDocsMergerCloud.Models.MergeDocumentsRequest({
        documents: documentEntries,
        outputPath: outputFile
    });
    
  3. 実行 - mergeApi.mergeDocuments(mergeRequest) はクラウドサービスにリクエストを送信します。Promise は出力ファイルパスを含む結果オブジェクトで解決されます。

const result = await mergeApi.mergeDocuments(mergeRequest);
console.log(`Merge completed successfully. Output file: ${result.path}`);

これらの手順を組み合わせることで、低レベルのファイルストリームを扱うことなく、複数の Word ドキュメントを効率的に結合できます。

GroupDocs.Merger の環境を準備する

  1. SDK をインストールする
npm install groupdocs-merger-cloud

パッケージは公式のダウンロードページから入手できます。

  1. Node.js バージョン - Node.js 12 以上が実行されていることを確認してください。

  2. 認証情報の構成 - コード内の YOUR_CLIENT_IDYOUR_CLIENT_SECRET を、GroupDocs Cloud アカウントの値に置き換えてください。

  3. プロジェクト フォルダーを作成 - ソース DOCX ファイルを documents/ サブフォルダーに配置し、例に示すように。

これらの手順が完了したら、マージスクリプトを実行するか、REST エンドポイントを呼び出す準備が整います。

結論

Node.JS で複数の Word ドキュメントを結合することは、GroupDocs.Merger Cloud SDK for Node.js を使用すれば簡単になります。SDK はファイルのアップロード、マージロジック、出力生成を処理し、低レベルのファイル操作ではなくビジネスロジックに集中できるようにします。製品版の使用には適切なライセンスを取得することを忘れないでください。まずは一時ライセンスで開始し、ニーズに応じてフルサブスクリプションにアップグレードできます。今日からマージを始め、ドキュメントワークフローを効率化しましょう。

FAQs

  • Node.JS の SDK を使用して複数の Word ドキュメントを結合するにはどうすればよいですか?
    MergeApi クラスを使用して、各 DOCX ファイルを DocumentEntry として列挙する MergeDocumentsRequest を作成します。SDK は指定された順序でドキュメントを結合し、結果を指定された出力パスに保存します。

  • 同じ SDK で PDF を結合することは可能ですか?
    はい、Merger SDK は PDF、DOCX、ODT、およびその他複数の形式をサポートしています。inputFiles 配列のファイル拡張子を変更するだけで、SDK が自動的に変換を処理します。形式の詳細については、公式ドキュメント を参照してください。

  • 単一リクエストでマージできるドキュメント数の上限は何ですか?
    クラウドサービスは厳密な数ではなくサイズ制限を課しています。結合されたサイズがアカウントのクォータ内に収まっている限り、何十ものファイルをマージできます。非常に大規模なバッチの場合は、まずファイルを GroupDocs ストレージにアップロードし、ID で参照することを検討してください。

  • 開発と本番でライセンスを気にする必要がありますか?
    開発およびテストでは、一時ライセンスページから取得できる一時ライセンスを使用できます。本番環境へのデプロイでは、無制限のマージと優先サポートを利用できるフルライセンスを購入してください。

さらに読む