MHT 文件用於將圖像、文本、CSS 和其他相關資源保存在單個網頁中。在某些用例中,您可能希望將 HTML 文件轉換為 MHT 格式。因此,本文介紹瞭如何在 Java 中以編程方式將 HTML 轉換為 MHT 格式。
HTML 到 MHT 文件轉換器 – Java API 安裝
Aspose.HTML for Java API 可用於處理 HTML、MHTML、XPS 和其他支持的文件格式。您可以從 下載 頁面或在應用程序的 pom.xml 文件中使用以下配置來下載 JAR 文件:
存儲庫:
<repositories>
<repository>
<id>snapshots</id>
<name>repo</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
依賴:
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html</artifactId>
<version>21.12</version>
<classifier>jdk17</classifier>
</dependency>
</dependencies>
在 Java 中將 HTML 轉換為 MHT 或 MHTML
您需要按照以下步驟將 HTML 頁面轉換為 MHT 或 MHTML 文件:
- 創建 MHTMLSaveOptions 類的對象。
- 使用 ConvertHTML 方法保存輸出的 MHT 或 MHTML 文件。
下面的代碼示例解釋瞭如何在 Java 中以編程方式將 HTML 文件轉換為 MHT 或 MHTML 文件:
// 從文件初始化 HTML 文檔
HTMLDocument document = new HTMLDocument("input.html");
// 初始化 MHTMLSaveOptions 對象
MHTMLSaveOptions options = new MHTMLSaveOptions();
// 將 HTML 轉換為 MHTML
Converter.convertHTML(document, options, "output.mht");
使用 Java 中的高級選項將 HTML 轉換為 MHT
您可以使用 MHTMLSaveOptions 類公開的屬性來增強將 HTML 文件轉換為 MHT 格式的過程。請按照以下步驟使用高級選項將 HTML 轉換為 MHT 文件:
- 初始化 MHTMLSaveOptions 類的實例。
- 指定輸出 MHT 文件的屬性。
- 使用 ConvertHTML 方法將 HTML 文件保存為 MHT。
下面的代碼示例演示瞭如何在 Java 中以編程方式將 HTML 文件轉換為 MHT 格式:
// 準備一個帶有指向另一個文件的鏈接的 HTML 代碼,並將其作為“document.html”保存到文件中
String code = "<span>Hello World!!</span>\n" +
"<a href='document2.html'>click</a>\n";
try (FileWriter fileWriter = new FileWriter("document.html")) {
fileWriter.write(code);
}
// 準備一個 HTML 代碼並將其作為“document2.html”保存到文件中
code = "<span>Hello World!!</span>";
try (FileWriter fileWriter = new FileWriter("document2.html")) {
fileWriter.write(code);
}
// 將資源鏈接深度的值更改為 1,以便轉換具有直接鏈接資源的文檔。
MHTMLSaveOptions options = new MHTMLSaveOptions();
options.getResourceHandlingOptions().setMaxHandlingDepth(1);
// 將 HTML 轉換為 MHT
Converter.convertHTML(
"document.html",
options,
"output.mht"
);
}
}
探索 Aspose.HTML for Java API
您可以訪問 API 文檔 以了解 API 支持的許多其他功能。
獲得免費許可證
您可以通過申請 免費臨時許可證 來全面評估 API。
結論
在本文中,您了解瞭如何使用 Java 以編程方式將 HTML 文件轉換為 MHT 或 MHTML 文件。此外,它還涵蓋了自定義轉換過程的高級功能。如有任何疑問,請隨時通過 論壇 與我們聯繫。