如何使用 GroupDocs.Merger for Java 合併 TIFF 圖像:逐步指南
合併 TIFF 圖像在攝影、檔案管理和醫學影像領域是常見需求。在本教學中,您將學習 如何合併 TIFF 圖像 為單一高品質檔案,使用 GroupDocs.Merger for Java。我們將逐步說明如何設定函式庫、載入來源檔案、加入其他 TIFF,並儲存合併結果——全部以清晰、可投入生產的程式碼示範。
快速解答
- 什麼函式庫負責在 Java 中合併 TIFF? GroupDocs.Merger for Java.
- 基本合併需要多少行程式碼? 只需在初始化
Merger物件後再寫兩行。 - 我可以合併超過兩個 TIFF 嗎? 可以——對每個額外檔案重複呼叫
join。 - 生產環境是否需要授權? 商業使用需具備有效的 GroupDocs 授權。
- 支援哪些 Java 版本? Java 8 及以上,包括 Java 11 與 Java 17。
什麼是合併 TIFF 圖像?
合併 TIFF 圖像 指將兩個或多個獨立的 TIFF 檔案合併為單一多頁 TIFF,且不會失去解析度或中繼資料。此操作保留每頁原始的壓縮方式,非常適合檔案保存工作流程。合併後的檔案如同單一文件,簡化儲存、分發與批次處理,同時保留所有原始影像屬性。
為什麼使用 GroupDocs.Merger for Java?
GroupDocs.Merger 支援 30 多種輸入與輸出格式,且能在不將整個文件載入記憶體的情況下處理高達 2 GB 的 TIFF 檔案,讓您即使在一般伺服器上也能快速、低記憶體地完成合併。它同時自動保留中繼資料與頁面順序,減少自訂程式碼,且其執行緒安全的 API 能順利與 Spring 或其他 Java 框架整合,適用於桌面與伺服器應用程式。
前置條件
- 本機已安裝 JDK 8 或更新版本。
- 使用 IntelliJ IDEA 或 Eclipse 等 IDE。
- 使用 Maven 或 Gradle 進行相依管理。
- 取得有效的 GroupDocs.Merger 授權(免費試用或已購買)。
設定 GroupDocs.Merger for Java
要開始合併 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 取得完整授權。
如何使用 GroupDocs.Merger for Java 合併 TIFF 圖像?
載入第一個 TIFF,對每個額外影像呼叫 join,最後儲存合併後的文件。整個流程僅需三個方法呼叫,對於十頁檔案通常在一秒內完成。您亦可在儲存前設定壓縮或中繼資料選項,且 API 支援串流,允許直接從記憶體或網路來源載入檔案,無需暫存檔。
載入來源 TIF 檔案
定義說明: 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.
}
}
**說明:** 這段程式碼建立一個指向您初始 TIFF 檔案的 `Merger` 實例,為後續操作做準備。
### 新增另一個 TIF 檔案以合併
**定義說明:** `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.
}
}
**說明:** 每次呼叫 `join` 都會將另一個 TIFF 加入記憶體集合,讓您建立多頁結果。
### 合併 TIF 檔案並儲存結果
**定義說明:** `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.
}
}
**說明:** 在所有需要的檔案加入後,`save` 會將合併的 TIFF 持久化至您提供的目標位置。
## 合併 TIFF 檔案的實務應用
1. **檔案保存:** 透過將掃描頁面合併為單一多頁 TIFF,減少儲存空間。
2. **攝影專案:** 將以獨立 TIFF 片段拍攝的全景圖拼接。
3. **醫學影像:** 合併連續的放射線影像,形成完整的患者紀錄。
4. **平面設計:** 組合分層藝術作品,且不重新壓縮每個圖層。
5. **文件管理系統:** 透過每個文件僅存一個檔案,簡化索引與檢索。
## 效能考量
### 優化效能的技巧
- 以 **串流模式** 處理大型 TIFF,將記憶體使用量控制在 200 MB 以下。
- 將同時合併的數量限制在 CPU 核心數,以免 CPU 限速。
### 資源使用指引
GroupDocs.Merger 會自動釋放檔案句柄,但仍建議將 `Merger` 實例放入 try‑with‑resources 區塊,以確保清理。
### 使用 GroupDocs.Merger 的 Java 記憶體管理最佳實踐
- 使用 `try (Merger merger = new Merger(...)) { … }` 以確保 `close()` 方法被呼叫。
- 對於超大型影像,設定 `MergerOptions.setCacheEnabled(true)` 以啟用磁碟快取。
## 常見問題與解決方案
- **在非常大的 TIFF 上發生 OutOfMemoryError:** 如前所述啟用快取,或將合併分割成較小批次。
- **中繼資料遺失:** 在加入檔案前,確保呼叫 `merger.getSettings().setPreserveMetadata(true)`。
- **頁面順序錯誤:** 依需求的順序加入檔案;`join` 會遵循呼叫順序。
## 常見問答
**Q: 如何有效處理大型 TIFF 檔案?**
A: 透過 `MergerOptions.setCacheEnabled(true)` 啟用磁碟快取,並以批次方式處理檔案,以降低記憶體消耗。
**Q: 我可以一次合併超過兩個 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 的執行環境。
## 結論
您現在已擁有使用 GroupDocs.Merger for Java **合併 TIFF 圖像** 的完整、可投入生產的工作流程。此函式庫簡潔的 API、廣泛的格式支援以及記憶體效能設計,使其成為任何基於 Java 的影像處理管線的首選解決方案。
### 後續步驟
- 探索 **分割** 多頁 TIFF 為單獨檔案。
- 嘗試使用相同的 `Merger` API 將合併的 TIFF 轉換為 PDF 或 JPEG。
- 將合併例程整合至現有的文件管理服務,以實現自動批次處理。
---
**最後更新:** 2026-05-27
**測試環境:** GroupDocs.Merger 23.12 for Java
**作者:** GroupDocs
## 相關教學
- [如何使用 GroupDocs.Merger for Java 合併 PNG 圖像 - 逐步指南](/merger/java/document-information/merge-png-images-groupdocs-merger-java/)
- [精通 Java 影像合併:GroupDocs.Merger for BMP 檔案完整指南](/merger/java/image-operations/mastering-image-merging-java-groupdocs-merger/)
- [如何使用 GroupDocs.Merger for Java 合併 EMZ 檔案 - 逐步指南](/merger/java/format-specific-merging/merge-emz-files-groupdocs-merger-java/)