Сохранить HTML-документ – Java

После работы с файлом HTML или создания документа HTML с нуля вы можете сохранить изменения, используя один из методов HTMLDocument.save(). Библиотека Java предоставляет классы SaveOptions и ResourceHandlingOptions, которые позволяют задавать параметры для операций сохранения.

В библиотеке Aspose.HTML for Java есть две разные концепции создания выходных файлов:

  • Первая концепция основана на создании HTML-подобных файлов в качестве вывода – файлов HTML, MHTML, Markdown и SVG. SaveOptions – это базовый класс для этого подхода, который помогает обрабатывать процесс сохранения связанных ресурсов, таких как сценарии, стили, изображения и т. д.
  • Вторая концепция может быть использована для визуального представления HTML в результате. Базовым классом для этой концепции является RenderingOptions; он имеет специализированные методы для указания размера страницы, полей страницы, разрешения, пользовательских стилей и т. д.

В этой статье описывается только то, как использовать класс SaveOptions и методы save() для сохранения HTML-документов. Чтобы узнать больше о механизме рендеринга, обратитесь к статье Конвертеры тонкой настройки.

Сохранить HTML

После внесения изменений в HTML вы можете сохранить документ используя один из методов HTMLDocument.save(). Следующий пример – самый простой способ сохранить HTML-файл:

 1// Save HTML to a file using Java
 2
 3// Initialize an empty HTML document
 4HTMLDocument document = new HTMLDocument();
 5
 6// Create a text node and add it to the document
 7Text text = document.createTextNode("Hello, World!");
 8document.getBody().appendChild(text);
 9
10// Save the HTML document to a file
11document.save("save-to-file.html");

Пример выше довольно прост. Однако в реальных приложениях часто требуется дополнительный контроль над процессом сохранения. Следующие несколько разделов описывают, как использовать параметры обработки ресурсов или сохранять документ в различных форматах.

Сохранить HTML в файл

В следующем фрагменте кода показано, как использовать ResourceHandlingOptions для управления связанными документами. В примере мы создаем простой HTML-файл с нуля со связанным документом с именем «linked.html».

Чтобы применить параметры сохранения, мы используем конструктор HTMLSaveOptions() для создания экземпляра класса HTMLSaveOptions. Затем с помощью метода getResourceHandlingOptions() мы устанавливаем максимальную глубину обработки связанных ресурсов в параметрах сохранения на 1. Это означает, что сохранение HTML-документа будет включать в себя основной документ и любые напрямую связанные ресурсы до глубины 1. И, наконец, мы вызываем метод save(path, options) объекта документа вместе с указанными параметрами сохранения.

 1// Save HTML with a linked resources using Java
 2
 3// Prepare a simple HTML file with a linked document
 4java.nio.file.Files.write(
 5        java.nio.file.Paths.get("save-with-linked-file.html"),
 6        "<p>Hello, World!</p><a href='linked.html'>linked file</a>".getBytes());
 7
 8// Prepare a simple linked HTML file
 9java.nio.file.Files.write(java.nio.file.Paths.get("linked.html"),
10        "<p>Hello, linked file!</p>".getBytes());
11
12// Load the "save-with-linked-file.html" into memory
13HTMLDocument document = new HTMLDocument("save-with-linked-file.html");
14
15// Create an instance of the HTMLSaveOptions class
16HTMLSaveOptions options = new HTMLSaveOptions();
17
18// The following line with the value "0" cuts off all other linked HTML-files while saving this instance
19// If you remove this line or change the value to "1", the "linked.html" file will be saved as well to the output folder
20options.getResourceHandlingOptions().setMaxHandlingDepth(1);
21
22// Save the document with the save options
23document.save("save-with-linked-file_out.html", options);

Сохранить HTML в MHTML

В некоторых случаях вам нужно сохранить HTML документ в виде одного файла MHTML. Документ MHTML может быть очень полезен для этой цели, поскольку он представляет собой архив веб-страницы и хранит все внутри себя. HTMLSaveFormat указывает формат, в котором документ сохраняется, это могут быть форматы HTML, MHTML и MD. В приведенном ниже примере показано, как использовать метод save(path, saveFormat) для сохранения HTML в MHTML.

 1// Save HTML as MHTML using Java
 2
 3// Prepare a simple HTML file with a linked document
 4java.nio.file.Files.write(
 5        java.nio.file.Paths.get("document.html"),
 6        "<p>Hello, World!</p><a href='linked-file.html'>linked file</a>".getBytes());
 7
 8// Prepare a simple linked HTML file
 9java.nio.file.Files.write(
10        java.nio.file.Paths.get("linked-file.html"),
11        "<p>Hello, linked file!</p>".getBytes());
12
13// Load the "document.html" into memory
14HTMLDocument document = new HTMLDocument("document.html");
15
16// Save the document to MHTML format
17document.save("save-to-MTHML.mht", HTMLSaveFormat.MHTML);

Как и для примера Сохранить HTML в файл, вы можете использовать MHTMLSaveOptions и настроить необходимые параметры обработки связанных ресурсов при сохранении.

Сохранить HTML в Markdown

Markdown – это язык разметки с простым текстовым синтаксисом. Чтобы сохранить HTML как файлы Markdown, взгляните на следующий пример:

 1// Save HTML as a Markdown file using Java
 2
 3// Prepare HTML code
 4String html_code = "<H2>Hello, World!</H2>";
 5
 6// Initialize a document from a string variable
 7HTMLDocument document = new HTMLDocument(html_code, ".");
 8
 9// Save the document as a Markdown file
10document.save("save-to-MD.md", HTMLSaveFormat.Markdown);

Aspose.HTML for Java, в дополнение к функции сохранения HTML в Markdown, также предлагает конвертер HTML в Markdown. Дополнительные сведения об использовании конвертера вы найдете в статье HTML to Markdown.

Сохранить SVG

Обычно вы можете видеть документ SVG как часть файла HTML; он представляет векторные данные на странице: изображения, значки, таблицы и т. д. Однако SVG также можно извлечь из веб-страницы, и вы можете манипулировать им так же, как документом HTML. Поскольку SVGDocument и HTMLDocument основаны на одном и том же стандарте WHATWG DOM, все операции, такие как загрузка, чтение, редактирование, преобразование и сохранение, аналогичны для обоих документов. Итак, все примеры, в которых вы видите манипуляции с HTMLDocument, применимы и к SVGDocument.

Чтобы сохранить изменения в SVG, используйте следующее:

 1// Save HTML as SVG using Java
 2
 3// Prepare SVG code
 4String code = "<svg xmlns='http://www.w3.org/2000/svg' height='200' width='300'>" +
 5        "<g fill='none' stroke-width= '10' stroke-dasharray='30 10'>" +
 6        "<path stroke='red' d='M 25 40 l 215 0' />" +
 7        "<path stroke='black' d='M 35 80 l 215 0' />" +
 8        "<path stroke='blue' d='M 45 120 l 215 0' />" +
 9        "</g>" +
10        "</svg>";
11
12// Initialize an SVG instance from the content string
13SVGDocument document = new SVGDocument(code, ".");
14
15// Save the SVG file to disk
16document.save("save-to-SVG.svg");

Заключение

  1. Пакет aspose.html.Saving позволяет разработчикам настраивать и оптимизировать процесс сохранения документов HTML и SVG с помощью расширенных параметров, таких как SaveOptions и ResourceHandlingOptions. Используя эти классы, вы можете эффективно управлять связанными ресурсами, выбирать определенные форматы вывода и настраивать процесс сохранения в соответствии с потребностями вашего приложения.
  2. Aspose.HTML for Java позволяет сохранять документы HTML в различных форматах, включая HTML, MHTML и Markdown, обеспечивая точный контроль и простоту.
  3. Примеры в этой статье демонстрируют простоту и мощь операций сохранения. Ознакомьтесь со статьей [Fine-Tuning Converters]( Fine-Tuning Converters), чтобы подробнее изучить параметры рендеринга и другие расширенные функции.

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

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.