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

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

快速解答

  • 應該使用哪個函式庫? GroupDocs.Merger for Java
  • 我可以合併超過兩個 MHT 檔案嗎? 是 – 反覆呼叫 join
  • 我需要授權嗎? 試用授權可用於評估;正式環境需付費授權
  • 需要哪個 Java 版本? JDK 8+(任何現代 JDK)
  • 合併需要多長時間? 通常在 50 MB 以下的檔案只需幾秒鐘

什麼是 MHT 檔案?

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

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

GroupDocs.Merger for Java 只需三行程式碼即可完成 MHT 合併,且支援超過 50 種輸入與輸出格式。它能處理高達 500 MB 的檔案,且堆積記憶體使用量低於 200 MB,讓您在資源有限的伺服器上也能順利合併大型網頁封存。

前置條件

  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

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 都會向內部集合中加入一個檔案,並保留您呼叫方法的順序。

3. 儲存合併結果

呼叫 save 會將單一合併後的 MHT 檔案寫入您指定的目標位置。

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 方法執行實際的合併工作,將所有排隊檔案的 HTML 內容與資源縫合成一個完整的封存檔。

合併 MHT 檔案的實務應用

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

效能考量

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

技巧原因說明
分配足夠的堆積空間防止合併時發生 OutOfMemoryError。
重複使用同一個 Merger 實例減少物件建立開銷,保持記憶體使用量低。
關閉未使用的串流即時釋放作業系統檔案句柄,避免資源泄漏。
在專用執行緒上執行保持桌面應用程式 UI 響應,並將繁重處理隔離。

常見問題與解決方法

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

常見問答

Q: 什麼是 MHT 檔案?
A: MHT(MHTML)檔案將 HTML 頁面與所有資源打包成單一檔案,方便離線瀏覽。

Q: 我可以合併超過兩個 MHT 檔案嗎?
A: 可以。於呼叫 save() 前,對每個額外檔案重覆執行 merger.join()。

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

Q: GroupDocs.Merger 支援其他格式嗎?
A: 當然支援。它可處理 PDF、DOCX、PPTX、XLSX 等超過 50 種格式。

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

其他資源


最後更新: 2026-09-21
測試環境: GroupDocs.Merger Java 23.11(撰寫時的最新版本)
作者: GroupDocs


相關教學