.# 如何使用 GroupDocs.Merger for Java 合併 MHT 檔案:完整指南

在當今節奏快速的數位環境中,如何合併 mht 檔案是一項常見挑戰,開發人員需要將網頁封存合併。將多個 MHT 檔案合併為單一文件可簡化資料處理、降低儲存開銷,並使後續處理更加容易。在本指南中,我們將逐步說明如何使用 GroupDocs.Merger for Java,讓您能快速且有信心地掌握 如何合併 mht

快速解答

  • 應該使用哪個函式庫? GroupDocs.Merger for Java
  • 我可以合併超過兩個 MHT 檔案嗎? Yes – call join repeatedly
  • 我需要授權嗎? A trial license works for evaluation; a paid license is required for production
  • 需要哪個 Java 版本? JDK 8+ (any modern JDK)
  • 合併需要多長時間? Typically a few seconds for files under 50 MB

什麼是 MHT 檔案?

MHT(MHTML)檔案是一種網頁封存格式,將 HTML 頁面與其所有資源——圖片、CSS、腳本——打包成單一檔案。這使其非常適合離線瀏覽或存檔,合併多個 MHT 檔案則可產生一個整合的封存檔,便於分發。

為何使用 GroupDocs.Merger for Java 合併 MHT?

  • 格式無關: Handles MHT alongside PDFs, DOCX, PPTX, etc.
  • 簡易 API: Only a few lines of code to load, join, and save.
  • 效能優化: Optimized for large documents with minimal memory footprint.
  • 企業級就緒: Supports licensing, security, and cloud integrations.

前置條件

  1. Java Development Kit (JDK) – 已安裝 JDK 8 或更新版本。
  2. IDE – IntelliJ IDEA、Eclipse,或您偏好的任何編輯器。
  3. GroupDocs.Merger for Java – 將函式庫加入 Maven/Gradle 依賴(見下文)。

設定 GroupDocs.Merger for Java

將函式庫加入您的專案:

Maven:

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

Gradle:

implementation 'com.groupdocs:groupdocs-merger:LATEST_VERSION'

您也可以從官方發行頁面下載最新的 JAR:GroupDocs.Merger for Java releases.

取得授權

GroupDocs 提供免費試用,讓您立即測試合併功能。若要於正式環境使用,請從 GroupDocs 入口網站取得永久授權,或在評估期間申請臨時授權。

步驟說明:如何合併 MHT 檔案

1. 載入並初始化 Merger

首先,建立指向主要 MHT 檔案的 Merger 實例。

import com.groupdocs.merger.Merger;

public class FeatureLoadAndInitialize {
    public static void run() throws Exception {
        String documentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT";
        
        // Initialize Merger with the source MHT file
        Merger merger = new Merger(documentPath);
    }
}

說明: Merger 類別是所有操作的入口點。提供第一個 MHT 檔案的路徑,即可為後續的合併做好準備。

2. 新增其他 MHT 檔案

使用 join 方法可追加任意數量的其他 MHT 封存檔。

public class FeatureAddAnotherMht {
    public static void run() throws Exception {
        String documentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT";
        String additionalDocumentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT_2";
        
        Merger merger = new Merger(documentPath);
        
        // Add another MHT file
        merger.join(additionalDocumentPath);
    }
}

說明: 每次呼叫 join 都會將另一個檔案加入合併佇列,讓您可以根據需求合併任意數量的 MHT 文件。

3. 儲存合併結果

最後,將合併後的內容寫入磁碟。

public class FeatureSaveMergedFile {
    public static void run() throws Exception {
        String documentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT";
        String additionalDocumentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT_2";
        String outputDirectory = "YOUR_OUTPUT_DIRECTORY";
        
        Merger merger = new Merger(documentPath);
        merger.join(additionalDocumentPath);
        
        String outputFile = outputDirectory + "/merged.mht";
        
        // Save the merged file
        merger.save(outputFile);
    }
}

說明: save 方法會整合所有佇列中的檔案,並將單一 MHT 封存寫入您指定的位置。

合併 MHT 檔案的實務應用

  • 網站封存: 將網站的每日快照整合為單一封存,以符合合規報告需求。
  • 文件管理系統: 將相關的網頁儲存為單一實體,簡化索引與檢索。
  • 資料整合: 將多個來源匯出的報告合併為一個套件,便於共享。

效能考量

處理大型 MHT 檔案(數百 MB)時,請留意以下建議:

提示為什麼有幫助
Allocate Sufficient Heap防止合併時發生 OutOfMemoryError
Reuse the Same Merger Instance減少物件建立的開銷。
Close Unused Streams及時釋放作業系統的檔案句柄。
Run on a Dedicated Thread讓桌面應用程式的 UI 保持回應。

常見問題與解決方法

  • FileNotFoundException – 請確認所有檔案路徑為絕對路徑或相對於工作目錄正確。
  • OutOfMemoryError – 增加 JVM 堆積大小(-Xmx2g)或將合併分割成較小批次。
  • Corrupted Output – 確認來源 MHT 檔案未損毀;必要時重新匯出。

常見問答

Q: 什麼是 MHT 檔案?
A: MHT(MHTML)檔案將 HTML 頁面及其資源打包成單一檔案,以供離線瀏覽。

Q: 我可以一次合併超過兩個 MHT 檔案嗎?
A: 可以。在呼叫 save() 之前,對每個額外檔案重複呼叫 merger.join()

Q: 合併後的檔案太大——我該怎麼辦?
A: 考慮將輸出分割成較小的部分,或優化來源 MHT 檔案(移除不必要的圖片、壓縮資源)。

Q: GroupDocs.Merger 支援其他格式嗎?
A: 當然。它支援 PDF、DOCX、PPTX、XLSX 等多種格式。

Q: 合併過程中發生錯誤時該如何處理?
A: 將合併呼叫包在 try‑catch 區塊中,驗證檔案路徑,並確保程式對輸出目錄具有寫入權限。

其他資源


最後更新: 2026-02-26
測試環境: GroupDocs.Merger Java 23.11 (latest at time of writing)
作者: GroupDocs