.# 如何使用 GroupDocs.Merger for Java 合併 MHT 檔案:完整指南
在當今節奏快速的數位環境中,如何合併 mht 檔案是一項常見挑戰,開發人員需要將網頁封存合併。將多個 MHT 檔案合併為單一文件可簡化資料處理、降低儲存開銷,並使後續處理更加容易。在本指南中,我們將逐步說明如何使用 GroupDocs.Merger for Java,讓您能快速且有信心地掌握 如何合併 mht。
快速解答
- 應該使用哪個函式庫? GroupDocs.Merger for Java
- 我可以合併超過兩個 MHT 檔案嗎? Yes – call
joinrepeatedly - 我需要授權嗎? 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.
前置條件
- Java Development Kit (JDK) – 已安裝 JDK 8 或更新版本。
- IDE – IntelliJ IDEA、Eclipse,或您偏好的任何編輯器。
- 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 區塊中,驗證檔案路徑,並確保程式對輸出目錄具有寫入權限。
其他資源
- 文件說明: GroupDocs.Merger for Java Docs
- API 參考: GroupDocs API Reference
- 下載: GroupDocs Releases
- 購買: Buy GroupDocs
- 免費試用: GroupDocs Free Trial
- 臨時授權: Get a Temporary License
- 支援論壇: GroupDocs Forum
最後更新: 2026-02-26
測試環境: GroupDocs.Merger Java 23.11 (latest at time of writing)
作者: GroupDocs