如何使用 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.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/)