Convertir HTML a MHTML en Java
Los archivos HTML suelen vincularse a recursos externos como imágenes, vídeos, audio y otros documentos especificando sus URL. Si desea archivar o guardar una página web que contiene dichos recursos externos, debe guardarlos todos por separado junto con el archivo HTML, lo que lo hace un poco complicado y desordenado. MHTML es un formato de archivo que combina HTML con recursos externos en un único archivo .mht. MHTML utiliza el protocolo de correo electrónico MIME para combinar elementos de una página web en un único archivo, lo que facilita el archivado de páginas web.
Este artículo explica cómo convertir HTML a MHTML usando la biblioteca Aspose.HTML for Java y cómo aplicar MHTMLSaveOptions.
HTML a MHTML mediante una sola línea de código Java
Los métodos estáticos de la clase Converter se utilizan principalmente como la forma más sencilla de convertir un código HTML a varios formatos. ¡Puedes convertir HTML a MHTML en tu aplicación Java literalmente con una sola línea de código!
1// Invoke the convertHTML() method to convert HTML code to MHTML file
2Converter.convertHTML("<h1>Hello, Word!</h1>", ".", new MHTMLSaveOptions(), "convert-with-single-line.mht");
En el ejemplo, usamos el método convertHTML(content, baseUri, options, outputPath)
de la clase
Converter que toma cuatro parámetros: cadena con el código HTML a convertir, la carpeta base para el archivo HTML de entrada , una instancia de la clase MHTMLSaveOptions
y la ruta del archivo de salida donde se guardará el archivo convertido.
Convertir HTML a MHTML en Java
Convertir un archivo a otro formato usando el método convertHTML()
es una secuencia de operaciones entre las que se incluyen cargar y guardar documentos. El siguiente ejemplo explica cómo convertir HTML a MHTML línea por línea:
- Cargue un archivo HTML usando la clase HTMLDocument.
- Cree una instancia de la clase MHTMLSaveOptions.
- Utilice el método
convertHTML(document, options, savePath)
de la clase Converter y pásele los parámetros necesarios.
1// Initialize an HTML document from the file
2HTMLDocument document = new HTMLDocument("drawing.html");
3
4// Initialize MHTMLSaveOptions
5MHTMLSaveOptions options = new MHTMLSaveOptions();
6
7// Convert HTML to MHTML
8Converter.convertHTML(document, options, "drawing-output.mht");
Puede descargar los ejemplos completos y los archivos de datos desde GitHub.
Convierta HTML a MHTML usando MHTMLSaveOptions
Aspose.HTML permite convertir HTML a MHTML utilizando opciones de guardado predeterminadas o personalizadas. El uso de MHTMLSaveOptions le permite personalizar el proceso de renderizado. Puede especificar UrlRestriction, MaxHandlingDepth, etc. Para convertir HTML a MHTML especificando MHTMLSaveOptions, debe seguir algunos pasos:
- Cargue o prepare un archivo HTML. En este ejemplo creamos un archivo HTML fuente desde cero.
- Cree un nuevo objeto MHTMLSaveOptions.
- Utilice uno de los métodos
convertHTML()
de la clase Converter para guardar el documento HTML como un archivo MHTML.
1// Prepare 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("document.html", code);
5
6// Prepare HTML code and save it to the file as "document2.html"
7code = "<span>Hello, World!!</span>";
8FileHelper.writeAllText("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("document.html", options, "output-options.mht");
El constructor
MHTMLSaveOptions() inicializa una instancia de la clase MHTMLSaveOptions
que se pasa al método convertHTML()
. El método toma el document
, las options
, la ruta del archivo de salida savePath
y realiza la conversión. En el ejemplo anterior, utilizamos el método setMaxHandlingDepth(value)
que establece la profundidad máxima del recurso que se manejará. El value=1 significa que solo se manejarán las páginas a las que se hace referencia directamente desde el documento guardado. El valor predeterminado es 3.
Conclusión
MHTML simplifica el proceso de archivar y compartir páginas web al combinar HTML y todos los recursos externos en un solo archivo, eliminando la complejidad de administrar archivos individuales. Aspose.HTML for Java ofrece una solución sencilla para convertir HTML a MHTML utilizando las clases Converter
y MHTMLSaveOptions
.
Con sus funciones personalizables, puedes:
- Convierta fácilmente contenido HTML con un código mínimo.
- Controlar la profundidad del procesamiento de recursos para los activos vinculados.
- Personalice las opciones de ahorro para requisitos específicos.
Los ejemplos de Java proporcionados demuestran escenarios tanto básicos como avanzados, lo que permite a los desarrolladores implementar eficazmente la conversión de HTML a MHTML en sus aplicaciones Java.
Para obtener más información sobre MHTMLSaveOptions, lea el artículo Convertidores de ajuste fino.
Aspose.HTML ofrece un Convertidor de HTML a MHTML en línea gratuito que convierte HTML a MHTML con alta calidad, fácil y rápido. ¡Simplemente cargue, convierta sus archivos y obtenga resultados en unos segundos!