Java 用 GroupDocs.Merger で TIFF 画像を結合する方法:ステップバイステップガイド
TIFF 画像の結合は、写真撮影、アーカイブ、医療画像などで一般的な要件です。このチュートリアルでは、GroupDocs.Merger for Java を使用して TIFF 画像を結合 し、単一の高品質ファイルにする方法を学びます。ライブラリの設定、ソースファイルの読み込み、追加 TIFF の追加、マージ結果の保存まで、明確で本番環境向けのコードを順に解説します。
クイック回答
- Java で TIFF 結合を処理するライブラリは何ですか? GroupDocs.Merger for Java。
- 基本的なマージに必要なコード行数は?
Mergerオブジェクトを初期化した後、2 行だけです。 - 2 つ以上の TIFF を結合できますか? はい – 追加ファイルごとに
joinを繰り返し呼び出します。 - 本番環境でライセンスは必要ですか? 商用利用には有効な GroupDocs ライセンスが必要です。
- サポートされている Java バージョンは? Java 8 以降、Java 11 と Java 17 を含みます。
TIFF 画像の結合とは?
Combine TIFF images とは、解像度やメタデータを失うことなく、2 つ以上の別々の TIFF ファイルを 1 つのマルチページ TIFF に結合することを指します。この操作は各ページの元の圧縮方式を保持するため、アーカイブ作業に最適です。結果として得られるファイルは単一のドキュメントとして扱われ、保存、配布、バッチ処理が簡素化され、すべての元画像属性が保持されます。
なぜ Java 用 GroupDocs.Merger を使用するのか?
GroupDocs.Merger は 30 以上の入力・出力フォーマット をサポートし、TIFF ファイルを 2 GB までメモリ全体にロードせずに処理できるため、低メモリ環境でも高速にマージできます。また、メタデータとページ順序を自動的に保持し、カスタムコードを削減します。スレッドセーフな API は Spring などの Java フレームワークとスムーズに統合でき、デスクトップおよびサーバーアプリケーションの両方で利用可能です。
前提条件
- JDK 8 以上がローカルにインストールされていること。
- IntelliJ IDEA または Eclipse などの IDE。
- Maven または Gradle による依存関係管理。
- 有効な GroupDocs.Merger ライセンスへのアクセス(無料トライアルまたは購入版)。
Java 用 GroupDocs.Merger の設定
TIFF ファイルのマージを開始するには、ライブラリをプロジェクトに追加します。
Maven
pom.xml ファイルに以下の依存関係を追加してください:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-merger</artifactId>
<version>latest-version</version>
</dependency>
Gradle
build.gradle ファイルに次の行を追加してください:
implementation 'com.groupdocs:groupdocs-merger:latest-version'
直接ダウンロード
あるいは、公式リリースページから最新の JAR をダウンロードしてください: GroupDocs.Merger for Java releases。
ライセンス取得手順
- 無料トライアル: GroupDocs releases からトライアルビルドを取得
- 一時ライセンス: Temporary License Page で 30 日間のキーを生成
- 購入: GroupDocs Purchase Page でフルライセンスを取得
Java 用 GroupDocs.Merger で TIFF 画像を結合する方法
最初の TIFF を読み込み、追加画像ごとに join を呼び出し、最後にマージされたドキュメントを保存します。全体の手順は 3 つのメソッド呼び出しだけで、10 ページのファイルであれば通常 1 秒未満で完了します。保存前に圧縮やメタデータオプションを設定でき、API はストリームも受け付けるため、ファイルを一時的に保存せずにメモリやネットワークから直接読み込むことが可能です。
ソース TIF ファイルの読み込み
Definition anchor: Merger クラスは GroupDocs.Merger のコアエントリーポイントで、メモリ上で操作可能なドキュメントを表します。
```java
import com.groupdocs.merger.Merger;
final String YOUR_DOCUMENT_DIRECTORY = "YOUR_DOCUMENT_DIRECTORY";
public class LoadTif {
public static void run() throws Exception {
// Create a Merger instance with the source TIFF file
Merger merger = new Merger(YOUR_DOCUMENT_DIRECTORY + "/source.tif");
// The source TIF file is now loaded into the Merger instance.
}
}
**Explanation:** このスニペットは、最初の TIFF ファイルを指す `Merger` インスタンスを作成し、以降の操作の準備を行います。
### 追加の TIF ファイルを結合に追加
**Definition anchor:** `join` メソッドは新しいドキュメント(またはページ)を現在ロードされているファイルに追加し、元のフォーマットを保持します。
```text
```java
import com.groupdocs.merger.Merger;
final String YOUR_DOCUMENT_DIRECTORY = "YOUR_DOCUMENT_DIRECTORY";
public class AddTifToMerge {
public static void run() throws Exception {
// Load the source TIF file into a Merger instance
Merger merger = new Merger(YOUR_DOCUMENT_DIRECTORY + "/source.tif");
// Add another TIF file to merge with the first one
merger.join(YOUR_DOCUMENT_DIRECTORY + "/additional.tif");
// Two TIF files are now ready for merging.
}
}
**Explanation:** `join` を呼び出すたびに、別の TIFF がメモリ内コレクションに追加され、マルチページ結果を構築できます。
### TIF ファイルをマージして結果を保存
**Definition anchor:** `save` メソッドは結合されたドキュメントを指定した形式でディスクに書き出します。
```text
```java
import com.groupdocs.merger.Merger;
final String YOUR_DOCUMENT_DIRECTORY = "YOUR_DOCUMENT_DIRECTORY";
final String YOUR_OUTPUT_DIRECTORY = "YOUR_OUTPUT_DIRECTORY";
public class MergeAndSaveTif {
public static void run() throws Exception {
// Assume the TIF files have been loaded and added for merging in previous steps
Merger merger = new Merger(YOUR_DOCUMENT_DIRECTORY + "/source.tif");
merger.join(YOUR_DOCUMENT_DIRECTORY + "/additional.tif");
// Define the output file path for the merged result
String outputFile = YOUR_OUTPUT_DIRECTORY + "/merged.tif";
// Perform the merge operation and save the result to the specified location
merger.save(outputFile);
// The TIFF files have been successfully merged and saved.
}
}
**Explanation:** すべてのファイルが結合されたら、`save` がマージされた TIFF を指定した場所に永続化します。
## TIFF ファイル結合の実用例
1. **文書のアーカイブ:** スキャンしたページを単一のマルチページ TIFF に統合して保存容量を削減。
2. **写真プロジェクト:** 別々の TIFF スライスで撮影したパノラマ画像をつなぎ合わせ。
3. **医療画像:** 連続レントゲン画像を結合し、包括的な患者記録を作成。
4. **グラフィックデザイン:** 各レイヤーを再圧縮せずにアートワークを組み立て。
5. **文書管理システム:** 多数のファイルを 1 つにまとめることでインデックス作成と検索を簡素化。
## パフォーマンスに関する考慮事項
### パフォーマンス最適化のヒント
- 大きな TIFF は **ストリーミングモード** で処理し、メモリ使用量を 200 MB 未満に抑える。
- CPU コア数に合わせて同時マージ数を制限し、CPU スロットリングを防止。
### リソース使用ガイドライン
GroupDocs.Merger は自動的にファイルハンドルを解放しますが、`Merger` インスタンスは `try‑with‑resources` ブロックでラップして確実にクリーンアップしてください。
### GroupDocs.Merger を使用した Java メモリ管理のベストプラクティス
- `try (Merger merger = new Merger(...)) { … }` を使用して `close()` を確実に呼び出す。
- 超大型画像の場合は `MergerOptions.setCacheEnabled(true)` を設定し、ディスクキャッシュを有効化。
## よくある問題と解決策
- **OutOfMemoryError が発生する場合:** 前述のキャッシュ機能を有効にするか、マージを小さなバッチに分割。
- **メタデータが失われる:** 結合前に `merger.getSettings().setPreserveMetadata(true)` を呼び出す。
- **ページ順序が正しくない:** 必要な順序でファイルを追加するだけで、`join` は呼び出し順序を保持します。
## よくある質問
**Q: 大きな TIFF ファイルを効率的に処理するには?**
A: `MergerOptions.setCacheEnabled(true)` でディスクキャッシュを有効にし、バッチ処理でメモリ消費を抑えます。
**Q: 同時に 2 つ以上の TIFF をマージできますか?**
A: はい、`save` を呼び出す前に各追加ファイルに対して `join` を実行してください。
**Q: ファイルパスではなくバイト配列から TIFF を追加できますか?**
A: もちろんです。`Merger(InputStream)` コンストラクタを使用してストリームから直接読み込めます。
**Q: GroupDocs.Merger はマージ時に EXIF などのメタデータを保持しますか?**
A: デフォルトでメタデータは保持されます。`MergerSettings.setPreserveMetadata(true)` で制御可能です。
**Q: 正式にサポートされている Java バージョンはどれですか?**
A: Java 8、11、17 が完全にサポートされており、8 系ベースのランタイムでも下位互換があります。
## 結論
これで **Java 用 GroupDocs.Merger** を使用した **TIFF 画像の結合** に関する完全な本番向けワークフローが完成しました。シンプルな API、豊富なフォーマットサポート、メモリ効率の高い設計により、あらゆる Java ベースの画像処理パイプラインに最適なソリューションとなります。
### 次のステップ
- マルチページ TIFF を個別ファイルに **分割** する方法を調査。
- 同じ `Merger` API を使って、マージした TIFF を PDF や JPEG に **変換** してみる。
- 既存の文書管理サービスにマージ処理を組み込み、バッチ自動化を実装。
---
**Last Updated:** 2026-05-27
**Tested With:** GroupDocs.Merger 23.12 for Java
**Author:** GroupDocs
## 関連チュートリアル
- [How to Merge PNG Images Using GroupDocs.Merger for Java - A Step‑By‑Step Guide](/merger/java/document-information/merge-png-images-groupdocs-merger-java/)
- [Mastering Image Merging in Java: A Comprehensive Guide to GroupDocs.Merger for BMP Files](/merger/java/image-operations/mastering-image-merging-java-groupdocs-merger/)
- [How to Merge EMZ Files Using GroupDocs.Merger for Java: A Step‑By‑Step Guide](/merger/java/format-specific-merging/merge-emz-files-groupdocs-merger-java/)