Word ファイルをプログラムで結合することは、ドキュメント中心のアプリケーションを構築する際に頻繁に求められる要件であり、特にレポートの生成や契約書の統合に役立ちます。GroupDocs.Merger Cloud SDK for Java は、低レベルのファイル処理を意識せずに DOCX ファイルをマージできるシンプルなクラウドベースのライブラリを提供します。このガイドでは、Java で複数の Word ドキュメントを結合する方法を学び、完全なコード例を確認し、同等の cURL 呼び出しを検討し、必要なセットアップを理解します。最後まで読めば、独自の Java プロジェクトにドキュメント結合機能を統合できるようになります。

Javaで複数のWordドキュメントを結合する完全な動作例

この例では、Merger API を使用して Java で複数の Word ドキュメントを結合する方法を示します。

import com.groupdocs.merger.cloud.client.ApiClient;
import com.groupdocs.merger.cloud.client.ApiException;
import com.groupdocs.merger.cloud.api.MergerApi;
import com.groupdocs.merger.cloud.model.FileInfo;
import com.groupdocs.merger.cloud.model.MergeOptions;
import java.util.ArrayList;
import java.util.List;

public class CombineWordDocuments {
    public static void main(String[] args) {
        // Initialize the API client with your credentials
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        MergerApi mergerApi = new MergerApi(apiClient);

try {
            // List of Word documents to combine
            List<FileInfo> sourceFiles = new ArrayList<>();
            sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input2.docx"));
            sourceFiles.add(new FileInfo().setFilePath("input3.docx"));

// Configure merge options
            MergeOptions mergeOptions = new MergeOptions();
            mergeOptions.setOutputPath("merged_output.docx");
            mergeOptions.setFileInfos(sourceFiles);

// Execute the merge operation
            FileInfo result = mergerApi.merge(mergeOptions);

System.out.println("Merge completed successfully. Output file: " + result.getFilePath());
        } catch (ApiException e) {
            System.err.println("An error occurred while merging documents: " + e.getMessage());
        }
    }
}

注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパスや設定値が実際の環境に合わせて更新されていることを確認し、必要な依存関係がすべて正しくインストールされているか検証し、開発環境で十分にテストしてください。問題が発生した場合は、公式ドキュメントをご参照いただくか、サポートチームへお問い合わせください。

cURL を使用した REST API で Word ファイルをマージする

純粋な REST アプローチを好む場合、同じマージ操作を cURL 呼び出しで実行できます。以下の手順では、アクセストークンの取得、ソースファイルのアップロード、マージのリクエスト、結果のダウンロード方法を示します。

認証してアクセストークンを取得する:

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

各 DOCX ファイルをクラウドストレージにアップロードします(YOUR_ACCESS_TOKEN を前の手順のトークンに置き換えてください):

curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input1.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
     --data-binary @input1.docx

input2.docxinput3.docx のアップロードコマンドを繰り返してください。

マージリクエストを作成する:

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

結合されたドキュメントをダウンロード:

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/merged_output.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o merged_output.docx

リクエスト パラメータの詳細については、公式 API ドキュメントをご覧ください。

JavaでWord文書を結合するプロセスの理解

以下は、前述のコードのステップバイステップの内訳です。

  1. Create an ApiClient - new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET") は GroupDocs クラウドサービスへの接続を確立します。
    ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
    
  2. Instantiate MergerApi - new MergerApi(apiClient) はマージ関連エンドポイントへのアクセスを提供します。
    MergerApi mergerApi = new MergerApi(apiClient);
    
  3. Prepare source file list - 各 FileInfo オブジェクトはクラウドに保存された DOCX ファイルを指します。リストは MergeOptions に渡されます。
    List<FileInfo> sourceFiles = new ArrayList<>();
    sourceFiles.add(new FileInfo().setFilePath("input1.docx"));
    
  4. Configure MergeOptions - 出力パスを設定し、ソースファイルのリストを添付します。
    MergeOptions mergeOptions = new MergeOptions();
    mergeOptions.setOutputPath("merged_output.docx");
    mergeOptions.setFileInfos(sourceFiles);
    
  5. Execute merge - mergerApi.merge(mergeOptions) はリクエストを送信し、マージされたドキュメントの FileInfo を返します。
    FileInfo result = mergerApi.merge(mergeOptions);
    

利用可能なプロパティの完全なリストについては、API リファレンスをご参照ください。

GroupDocs.Merger Cloud SDK の前提条件とセットアップ

コードを実行する前に、プロジェクトに Maven 依存関係を追加し、有効な GroupDocs アカウントがあることを確認してください。

SDK を pom.xml に追加します:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger-cloud</artifactId>
    <version>25.11</version>
</dependency>

最新の JAR とソースはダウンロードページからダウンロードしてください。
また、Java 8 以上とクラウド呼び出しのためのインターネット接続が必要です。
GroupDocs アカウントを作成し、Client IDClient Secret を取得して、安全に保管してください。

結論

プログラムで DOCX ファイルをマージすることは、GroupDocs.Merger Cloud SDK for Java を使用すれば今や簡単です。サンプルコードと cURL スニペットは、ネイティブライブラリを使用するか直接 REST 呼び出しを行うかにかかわらず、Java で複数の Word ドキュメントを結合する 2 つの柔軟な方法を示しています。認証情報の設定や、必要に応じてストリーミングで大きなファイルを処理すること、代表的なドキュメントでマージ操作をテストすることを忘れないでください。実稼働環境では有料ライセンスが必要です。価格情報は製品ページにあり、一時ライセンスページ から評価用の一時ライセンスをリクエストできます。

よくある質問

  • Javaでカスタムのファイル処理コードを書かずに複数のWordドキュメントを結合するにはどうすればよいですか?
    Use the GroupDocs.Merger Cloud SDK for Java. The SDK abstracts all low‑level operations and lets you merge DOCX files with a few API calls.

  • 異なるクラウドフォルダーに保存されているドキュメントを結合することは可能ですか?
    はい。FileInfo オブジェクトに完全なクラウドファイルパスを指定してください。マージ操作は各ファイルをその場所から取得し、結合します。

  • マージが ApiException で失敗した場合はどうすればよいですか?
    例外メッセージを確認し、ファイルが見つからない、権限の問題などの詳細を確認してください。ファイルパスが正しいこと、アカウントがストレージへの読み取り/書き込み権限を持っていることを確認します。エラーコードについては、公式ドキュメント を参照してください。

  • 各環境(開発、ステージング、本番)ごとに別々のライセンスが必要ですか?
    1つのライセンスで全ての環境をカバーできますが、ライセンス契約で定められた使用制限を遵守する必要があります。テスト用には上記の一時ライセンスを使用できます。

読み続ける