如何在 Java 中使用 GroupDocs.Merger 合併 PNG 圖片

以程式方式合併 PNG 檔案是常見需求,無論是要製作單一橫幅、結合設計素材,或即時產生複合圖形。本文教學將示範 如何合併 png 圖片,使用 GroupDocs.Merger for Java,從安裝函式庫到產出最終合併檔案。無論是建置組合行銷素材的 Web 服務,或是批次處理的桌面工具,以下步驟都能快速達成目標。

快速答案

  • 應該使用哪個函式庫? GroupDocs.Merger for Java
  • 我可以一次合併多個 PNG 嗎? 是 – 為每個額外的圖片呼叫 join。
  • 哪種合併模式會產生垂直堆疊? ImageJoinMode.Vertical
  • 我需要授權嗎? 試用授權可用於測試;付費授權可移除限制。
  • 需要哪個 Java 版本? JDK 8 或更新版本

什麼是 Java 圖像處理函式庫?

java image manipulation library 是一組內建的 Java 類別,讓開發者能以程式方式編輯、合併與轉換圖像檔案,無需處理低階像素操作。GroupDocs.Merger 就是此類函式庫之一,提供高階的合併、分割與轉換圖像與文件功能。使用專門的函式庫可節省開發時間、提升效能,並確保對多種圖像格式的可靠處理。

為什麼在 PNG 合併時使用 GroupDocs.Merger?

只要載入兩個 PNG 檔案並呼叫 join,函式庫即可在一行程式碼內完成繁重工作。GroupDocs.Merger 支援 30+ 圖像與文件格式,可在不將整個內容載入記憶體的情況下處理上百頁檔案,且能處理高達 500 MB 的圖像,同時在一般伺服器上將 CPU 使用率維持在 30 % 以下。這些具體指標使其成為小型工具與企業級流水線的可擴充選擇。

前置條件

  • Java 開發工具包 (JDK): 已安裝 8 版或以上。
  • Maven 或 Gradle: 用於相依管理。
  • 基本 Java 知識: 需熟悉類別、物件與例外處理。
  • GroupDocs 授權: 開發階段使用試用金鑰即可;正式環境請購買完整授權。

設定 GroupDocs.Merger for Java

Maven 安裝

將以下相依加入 pom.xml 檔案:

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

Gradle 安裝

對於使用 Gradle 的專案,請在 build.gradle 檔案中加入:

implementation 'com.groupdocs:groupdocs-merger:latest-version'

直接下載

亦可直接從 GroupDocs.Merger for Java 釋出頁面 下載最新版本。

若要啟用試用或購買授權,請前往 GroupDocs 購買 網站,依指示取得臨時或正式授權。

基本初始化

Merger 類別是處理圖像合併與其他文件操作的核心元件。

import com.groupdocs.merger.Merger;

class ImageMerger {
    public static void main(String[] args) {
        Merger merger = new Merger("path/to/your/image.png");
    }
}

如何使用 GroupDocs.Merger 合併 PNG 圖片

以下步驟示範如何使用 GroupDocs.Merger 的高階 API,將多個 PNG 檔案合併為單一圖像。只要初始化 Merger 物件、加入來源圖像、選擇合併模式,並儲存結果,即可輕鬆產生垂直或水平的組合圖。

概覽

只需幾行 Java 程式碼即可合併 PNG 檔案。函式庫抽象掉像素層級的操作,讓您專注於業務邏輯。

步驟 1:匯入必要類別

先從 GroupDocs 套件匯入所需類別:

import com.groupdocs.merger.Merger;
import com.groupdocs.merger.domain.options.ImageJoinMode;
import com.groupdocs.merger.domain.options.ImageJoinOptions;

步驟 2:定義檔案路徑

設定來源圖像以及任何要合併的額外圖像的絕對或相對路徑:

String sourceImagePath = "YOUR_DOCUMENT_DIRECTORY/sample.png";
String additionalImagePath = "YOUR_DOCUMENT_DIRECTORY/additional_sample.png";
String outputFolder = "YOUR_OUTPUT_DIRECTORY";
String outputFile = new File(outputFolder, "merged.png").getPath();

步驟 3:初始化 Merger 物件並設定合併選項

以主要圖像建立 Merger 實例,然後指定後續圖像的合併方式。ImageJoinMode.Vertical 會將圖像垂直堆疊,ImageJoinMode.Horizontal 則水平排列。

Merger merger = new Merger(sourceImagePath);
ImageJoinOptions joinOptions = new ImageJoinOptions(ImageJoinMode.Vertical);

步驟 4:執行合併並儲存結果

使用 join 加入每張額外圖像,最後寫入合併後的檔案:

merger.join(additionalImagePath, joinOptions);
merger.save(outputFile);

若需其他方向(例如側邊橫幅),只要調整 ImageJoinMode 列舉為 Horizontal 即可。

實務應用

合併 PNG 圖片在多種真實情境中都很有用:

  1. 行銷素材: 將多個設計元素組合成單一廣告橫幅。
  2. 網頁開發: 動態產生回應式標頭圖片,將不同尺寸資源拼接。
  3. 攝影: 從一系列照片製作全景或拼貼,免除手動編輯。

將此功能整合至內容管理系統、數位資產庫或自訂設計工具,可大幅提升製作流程效率。

效能考量

  • 記憶體管理: 對於大於 200 MB 的檔案使用 Merger 串流 API,以避免 OutOfMemoryError。
  • 資源配置: 處理高解析度(超過 3000 × 3000 px)PNG 時,至少配置 2 GB 堆積空間。
  • 併發性: 在確認 Merger 實例的執行緒安全性後,才可於不同執行緒執行合併(該函式庫對唯讀操作是執行緒安全的)。

遵循上述最佳實踐,即使在高負載下也能保持平穩運作。

常見問題

Q1: 我可以一次合併多於兩個 PNG 嗎?
A1: 可以,於呼叫 save 之前,對每個額外圖像重複呼叫 join。函式庫會依照您指定的順序串接它們。

Q2: 合併過程中如何處理例外?
A2: 將合併邏輯包在 try‑catch 區塊,捕捉 MergerException 以取得 API 特定錯誤,然後依需求處理或記錄。

Q3: GroupDocs.Merger 可以免費使用嗎?
A3: 您可先使用提供完整功能的免費試用授權進行評估。正式環境須購買授權以移除使用限制。

Q4: 除了 PNG,GroupDocs.Merger 還支援哪些格式?
A5: 函式庫支援超過 30 種格式,包括 JPEG、BMP、TIFF、PDF、DOCX 與 XLSX。完整清單請參考官方格式矩陣。

Q5: 如何動態自訂輸出檔名與儲存位置?
A5: 使用變數(如時間戳記、使用者 ID 或設定值)組合 outputFile 字串,然後傳入 save 方法。

資源


最後更新: 2026-10-06
測試環境: GroupDocs.Merger 最新版本(截至 2026 年)
作者: GroupDocs

相關教學