Конвертировать HTML в MHTML на Java
Файлы HTML часто ссылаются на внешние ресурсы, такие как изображения, видео, аудио и другие документы, указывая их URL-адреса. Если вы хотите заархивировать или сохранить веб-страницу, содержащую такие внешние ресурсы, вам нужно сохранить их все отдельно вместе с файлом HTML, что делает его немного сложным и загроможденным. MHTML – это формат файла, который объединяет HTML с внешними ресурсами в один файл .mht. MHTML использует протокол электронной почты MIME для объединения элементов веб-страницы в один архивный файл, что упрощает архивирование веб-страниц.
В этой статье объясняется, как преобразовать HTML в MHTML с помощью библиотеки Aspose.HTML for Java и применить MHTMLSaveOptions.
HTML в MHTML одной строкой кода Java
Статические методы класса Converter в основном используются как самый простой способ преобразования HTML-кода в различные форматы. Вы можете преобразовать HTML в MHTML в своем Java-приложении буквально с помощью одной строки кода!
1// Invoke the convertHTML() method to convert the HTML code to MHTML file
2Converter.convertHTML("<h1>Hellow, Word!</h1>", ".", new MHTMLSaveOptions(), $o("convert-with-single-line.mht"));
В примере мы используем метод convertHTML(content, baseUri, options, outputPath)
класса
Converter, который принимает четыре параметра: строку с HTML-кодом для преобразования, базовую папку для входного HTML-файла, экземпляр класса MHTMLSaveOptions
и путь к выходному файлу, в котором будет сохранен преобразованный файл.
Конвертировать HTML в MHTML на Java
Преобразование файла в другой формат методом convertHTML()
представляет собой последовательность операций, среди которых загрузка и сохранение документа. В следующем примере показано, как преобразовать HTML в MHTML:
- Загрузите файл HTML с помощью класса HTMLDocument.
- Создайте экземпляр класса MHTMLSaveOptions.
- Используйте метод
convertHTML(document, options, savePath)
класса Converter и передайте ему необходимые параметры.
1// Initialize an HTML document from the file
2HTMLDocument document = new HTMLDocument($i("drawing.html"));
3
4// Initialize MHTMLSaveOptions
5MHTMLSaveOptions options = new MHTMLSaveOptions();
6
7// Convert HTML to MHTML
8Converter.convertHTML(document, options, $o("drawing-output.mht"));
Вы можете скачать полные примеры и файлы данных по адресу GitHub.
Конвертировать HTML в MHTML с использованием MHTMLSaveOptions
Aspose.HTML позволяет конвертировать HTML в MHTML, используя стандартные или пользовательские параметры сохранения. Использование
MHTMLSaveOptions позволяет настроить процесс рендеринга. Вы можете указать
UrlRestriction,
MaxHandlingDepth и т. д. Чтобы преобразовать HTML в MHTML с указанием MHTMLSaveOptions
, выполните несколько шагов:
- Загрузите или подготовьте файл HTML. В этом примере мы создаем исходный HTML-файл с нуля.
- Создайте новый объект MHTMLSaveOptions.
- Используйте метод
convertHTML()
класса Converter, чтобы сохранить документ HTML в виде файла MHTML.
1// Prepare an HTML code with a link to another file and save it to the file as 'document.html'
2String code = "<span>Hello, World!!</span> " +
3 "<a href='document2.html'>click</a>";
4FileHelper.writeAllText($o("document.html"), code);
5
6// Prepare HTML code and save it to the file as 'document2.html'
7code = "<span>Hello, World!!</span>";
8FileHelper.writeAllText($o("document2.html"), code);
9
10// Change the value of the resource linking depth to 1 in order to convert document with directly linked resources
11MHTMLSaveOptions options = new MHTMLSaveOptions();
12options.getResourceHandlingOptions().setMaxHandlingDepth(1);
13
14// Convert HTML to MHTML
15Converter.convertHTML($o("document.html"), options, $o("output-options.mht"));
Конструктор
MHTMLSaveOptions() инициализирует экземпляр класса MHTMLSaveOptions
, который передается методу convertHTML()
. Метод принимает document
, options
, путь к выходному файлу savePath
и выполняет преобразование. В приведенном выше примере мы используем метод setMaxHandlingDepth(value)
, который устанавливает максимальную глубину обрабатываемого ресурса. value=1 означает, что будут обрабатываться только страницы, на которые есть прямые ссылки из сохраненного документа. Значение по умолчанию – 3.
Заключение
MHTML упрощает процесс архивирования и распространения веб-страниц, объединяя HTML и все внешние ресурсы в один файл, устраняя сложность управления отдельными файлами. Aspose.HTML for Java предлагает простое решение для преобразования HTML в MHTML с использованием класса MHTMLSaveOptions
.
Благодаря настраиваемым функциям вы можете:
- Легко преобразовывать содержимое HTML с минимальным кодом.
- Управлять глубиной обработки ресурсов для связанных активов.
- Настраивать параметры сохранения для конкретных требований.
Приведенные примеры Java демонстрируют как базовые, так и расширенные сценарии, позволяя разработчикам эффективно реализовывать преобразование HTML в MHTML в своих приложениях Java.
Aspose.HTML предлагает бесплатный онлайн Конвертер HTML в MHTML, который конвертирует HTML в MHTML с высоким качеством, легко и быстро. Просто загрузите, конвертируйте файлы и получите результат за несколько секунд!