Guardar documento HTML en Java
El paquete aspose.html.Saving se presenta por clases de datos para obtener una descripción de opciones de guardado específicas en el proceso de conversión y guardado. Después de trabajar con un archivo HTML o crear un documento HTML desde cero, puede guardar los cambios utilizando uno de los métodos HTMLDocument.save(). La biblioteca Java proporciona las clases [SaveOptions]https://reference.aspose.com/html/java/com.aspose.html.served/saveoptions/ y ResourceHandlingOptions que le permiten configurar opciones para guardar operaciones.
La biblioteca Aspose.HTML for Java tiene dos conceptos diferentes para crear los archivos de salida:
- La primera concepción se basa en la creación de archivos tipo HTML como salida: archivos HTML, MHTML, Markdown y SVG. SaveOptions es una clase base para este enfoque que ayuda a manejar el proceso de guardar recursos relacionados como scripts, estilos, imágenes, etc.
- El segundo concepto podría usarse para representar HTML como resultado visualmente. La clase base para esta concepción es RenderingOptions; Tiene métodos especializados para especificar el tamaño de página, márgenes de página, resolución, estilos de usuario, etc.
Este artículo solo describe cómo utilizar la clase SaveOptions
y los métodos save()
para guardar documentos HTML. Para leer más sobre el mecanismo de renderizado, siga el artículo
Ajuste de convertidores.
Guardar HTML
Una vez que haya terminado los cambios en HTML, es posible que desee guardar el documento utilizando uno de los métodos HTMLDocument.save(). El siguiente ejemplo es la forma más sencilla de guardar un archivo HTML:
1// Initialize an empty HTML document
2HTMLDocument document = new HTMLDocument();
3
4// Create a text node and add it to the document
5Text text = document.createTextNode("Hello, World!");
6document.getBody().appendChild(text);
7
8// Save the HTML document to a file
9document.save("save-to-file.html");
El ejemplo anterior es bastante simple. Sin embargo, en aplicaciones de la vida real a menudo se necesita control adicional sobre el proceso de guardado. Las siguientes secciones describen cómo utilizar las opciones de manejo de recursos o guardar su documento en diferentes formatos.
Guardar HTML en un archivo
El siguiente fragmento de código muestra cómo utilizar ResourceHandlingOptions para administrar documentos vinculados. Creamos un archivo HTML simple desde cero con un documento vinculado llamado “linked.html” en el ejemplo.
Para aplicar opciones de guardado, utilizamos el constructor HTMLSaveOptions() para crear una instancia de la clase
HTMLSaveOptions. Luego, usando el método getResourceHandlingOptions()
, establecemos la profundidad máxima de manejo para los recursos vinculados en las opciones de guardar en 1. Esto significa que guardar el documento HTML incluirá el documento principal y cualquier recurso directamente vinculado hasta una profundidad de 1. Y finalmente, llamamos al método save(path, options)
del objeto del documento, junto con las opciones de guardado especificadas.
1// Prepare a simple HTML file with a linked document
2java.nio.file.Files.write(
3 java.nio.file.Paths.get("save-with-linked-file.html"),
4 "<p>Hello, World!</p><a href='linked.html'>linked file</a>".getBytes());
5
6// Prepare a simple linked HTML file
7java.nio.file.Files.write(java.nio.file.Paths.get(
8 "linked.html"),
9 "<p>Hello, linked file!</p>".getBytes());
10
11// Load the "save-with-linked-file.html" into memory
12HTMLDocument document = new HTMLDocument("save-with-linked-file.html");
13
14// Create an instance of the HTMLSaveOptions class
15HTMLSaveOptions options = new HTMLSaveOptions();
16
17// The following line with the value "0" cuts off all other linked HTML-files while saving this instance
18// If you remove this line or change the value to "1", the "linked.html" file will be saved as well to the output folder
19options.getResourceHandlingOptions().setMaxHandlingDepth(1);
20
21// Save the document with the save options
22document.save("save-with-linked-file_out.html", options);
Guardar HTML en MHTML
En algunos casos, necesitará guardar su documento HTML como un único archivo MHTML. El documento MHTML podría ser muy útil para este propósito ya que es un archivo de página web y almacena todo dentro de sí mismo. El HTMLSaveFormat especifica el formato en el que se guarda el documento, puede ser formato HTML, MHTML y MD. El siguiente ejemplo muestra cómo utilizar el método save(path, saveFormat) para guardar HTML en MHTML.
1// Prepare a simple HTML file with a linked document
2java.nio.file.Files.write(
3 java.nio.file.Paths.get("document.html"),
4 "<p>Hello, World!</p><a href='linked-file.html'>linked file</a>".getBytes());
5
6// Prepare a simple linked HTML file
7java.nio.file.Files.write(
8 java.nio.file.Paths.get("linked-file.html"),
9 "<p>Hello, linked file!</p>".getBytes());
10
11// Load the "document.html" into memory
12HTMLDocument document = new HTMLDocument("document.html");
13
14// Save the document to MHTML format
15document.save("save-to-MTHML.mht", HTMLSaveFormat.MHTML);
Además del ejemplo de Guardar HTML en un archivo, puede utilizar MHTMLSaveOptions y personalizar las opciones de manejo requeridas.
Guardar HTML en Markdown
Markdown es un lenguaje de marcado con sintaxis de texto sin formato. Para crear archivos Markdown utilizando Aspose.HTML, consulte el siguiente ejemplo:
1// Prepare HTML code
2String html_code = "<H2>Hello, World!</H2>";
3
4// Initialize a document from a string variable
5HTMLDocument document = new HTMLDocument(html_code);
6
7// Save the document as a Markdown file
8document.save("save-to-MD.md", HTMLSaveFormat.Markdown);
Aspose.HTML for Java, además de la función de guardar HTML a Markdown, también ofrece un conversor de HTML a Markdown. Para obtener más información sobre cómo utilizar Markdown Converter, visite el artículo HTML a Markdown.
Guardar SVG
Normalmente, puedes ver el documento SVG como parte de un archivo HTML; representa los datos vectoriales de la página: imágenes, iconos, tablas, etc. Sin embargo, SVG también se puede extraer de la página web y se puede manipular de forma similar al documento HTML. Dado que
SVGDocument y
HTMLDocument se basan en el mismo estándar
WHATWG DOM, todas las operaciones, como cargar, leer, editar, convertir y guardar, son similares para ambos documentos. Entonces, todos los ejemplos en los que puedes ver manipulación con HTMLDocument
también son aplicables a SVGDocument
.
Para guardar sus cambios en SVG, utilice lo siguiente:
1// Prepare SVG code
2String code = "<svg xmlns='http://www.w3.org/2000/svg' height='200' width='300'>" +
3 "<g fill='none' stroke-width= '10' stroke-dasharray='30 10'>" +
4 "<path stroke='red' d='M 25 40 l 215 0' />" +
5 "<path stroke='black' d='M 35 80 l 215 0' />" +
6 "<path stroke='blue' d='M 45 120 l 215 0' />" +
7 "</g>" +
8 "</svg>";
9
10// Initialize an SVG instance from the content string
11SVGDocument document = new SVGDocument(code, ".");
12
13// Save the SVG file to disk
14document.save("save-to-SVG.svg");
Conclusion
The aspose.html.Saving package allows developers to customize and optimize the process of saving HTML and SVG documents using advanced options such as
SaveOptions
andResourceHandlingOptions
. Using these classes, you can efficiently manage linked resources, select specific output formats, and customize the saving process to suit the needs of your application.Aspose.HTML for Java allows you to save HTML documents in various formats, including HTML, MHTML, and Markdown, providing precise control and simplicity.
The examples in this article demonstrate the simplicity and power of saving operations. Check out the Fine-Tuning Converters article to further explore rendering options and other advanced features.
Puede descargar los ejemplos completos y los archivos de datos desde GitHub.