Конвертировать 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// Convert HTML to MHTML in one line using Java
2
3// Invoke the convertHTML() method to convert HTML code to MHTML file
4Converter.convertHTML("<h1>Hello, Word!</h1>", ".", new MHTMLSaveOptions(), "convert-with-single-line.mht");

В примере мы используем метод convertHTML(content, baseUri, options, outputPath) класса Converter, который принимает четыре параметра: строку с HTML-кодом для преобразования, базовую папку для входного HTML-файла, экземпляр класса MHTMLSaveOptions и путь к выходному файлу, в котором будет сохранен преобразованный файл.

Конвертировать HTML в MHTML на Java

Преобразование файла в другой формат методом convertHTML() представляет собой последовательность операций, среди которых загрузка и сохранение документа. В следующем примере показано, как преобразовать HTML в MHTML:

  1. Загрузите файл HTML с помощью класса HTMLDocument.
  2. Создайте экземпляр класса MHTMLSaveOptions.
  3. Используйте метод convertHTML(document, options, savePath) класса Converter и передайте ему необходимые параметры.
 1// Convert HTML to MHTML in Java
 2
 3// Initialize an HTML document from the file
 4HTMLDocument document = new HTMLDocument("drawing.html");
 5
 6// Initialize MHTMLSaveOptions
 7MHTMLSaveOptions options = new MHTMLSaveOptions();
 8
 9// Convert HTML to MHTML
10Converter.convertHTML(document, options, "drawing-output.mht");

Вы можете скачать полные примеры и файлы данных по адресу GitHub.

Конвертировать HTML в MHTML с использованием MHTMLSaveOptions

Aspose.HTML позволяет конвертировать HTML в MHTML, используя стандартные или пользовательские параметры сохранения. Использование MHTMLSaveOptions позволяет настроить процесс рендеринга. Вы можете указать UrlRestriction, MaxHandlingDepth и т. д. Чтобы преобразовать HTML в MHTML с указанием MHTMLSaveOptions, выполните несколько шагов:

  1. Загрузите или подготовьте файл HTML. В этом примере мы создаем исходный HTML-файл с нуля.
  2. Создайте новый объект MHTMLSaveOptions.
  3. Используйте один из методов convertHTML() класса Converter, чтобы сохранить документ HTML в виде файла MHTML.
 1// Convert HTML to MHTML with custom settings using Java
 2
 3// Prepare HTML code with a link to another file and save it to the file as "document.html"
 4String code = "<span>Hello, World!!</span> " +
 5        "<a href='document2.html'>click</a>";
 6FileHelper.writeAllText("document.html", code);
 7
 8// Prepare HTML code and save it to the file as "document2.html"
 9code = "<span>Hello, World!!</span>";
10FileHelper.writeAllText("document2.html", code);
11
12// Change the value of the resource linking depth to 1 in order to convert document with directly linked resources
13MHTMLSaveOptions options = new MHTMLSaveOptions();
14options.getResourceHandlingOptions().setMaxHandlingDepth(1);
15
16// Convert HTML to MHTML
17Converter.convertHTML("document.html", options, "output-options.mht");

Конструктор MHTMLSaveOptions() инициализирует экземпляр класса MHTMLSaveOptions, который передается методу convertHTML(). Метод принимает document, options, путь к выходному файлу savePath и выполняет преобразование. В приведенном выше примере мы используем метод setMaxHandlingDepth(value), который устанавливает максимальную глубину обрабатываемого ресурса. value=1 означает, что будут обрабатываться только страницы, на которые есть прямые ссылки из сохраненного документа. Значение по умолчанию – 3.

Заключение

MHTML упрощает процесс архивирования и распространения веб-страниц, объединяя HTML и все внешние ресурсы в один файл, устраняя сложность управления отдельными файлами. Aspose.HTML for Java предлагает простое решение для преобразования HTML в MHTML с использованием классов Converter и MHTMLSaveOptions.

Благодаря настраиваемым функциям вы можете:

Приведенные примеры Java демонстрируют как базовые, так и расширенные сценарии, позволяя разработчикам эффективно реализовывать преобразование HTML в MHTML в своих приложениях Java.

Aspose.HTML предлагает бесплатный онлайн Конвертер HTML в MHTML, который конвертирует HTML в MHTML с высоким качеством, легко и быстро. Просто загрузите, конвертируйте файлы и получите результат за несколько секунд!

Text “Конвертер HTML в MHTML”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.