Convertir HTML a MHTML en C#
MHTML combina HTML normal con recursos externos como imágenes, animaciones, audio, etc., en un archivo con la extensión de archivo .mht. MHTML utiliza el protocolo de correo electrónico MIME para combinar elementos en un único archivo de página web. Con MHTML, archivar páginas web en línea se vuelve mucho más fácil y menos desordenado.
En este artículo, encontrará información sobre cómo convertir HTML a MHTML y cómo utilizar MHTMLSaveOptions.
Convertidor HTML en línea
Puede convertir HTML a MHTML con Aspose.HTML for .NET API en tiempo real. Primero, cargue un archivo HTML desde su disco local y luego ejecute el ejemplo. En este ejemplo, las opciones de guardar están configuradas de forma predeterminada. Recibirá inmediatamente el resultado de la conversión como un archivo separado.
Si desea convertir HTML a MHTML mediante programación, consulte los siguientes ejemplos de código C#.
HTML a MHTML mediante una sola línea de código
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 C# literalmente con una sola línea de código!
1// Invoke the ConvertHTML() method to convert HTML to MHTML
2Converter.ConvertHTML(@"<h1>Hellow, Word!</h1>", ".", new MHTMLSaveOptions(), Path.Combine(OutputDir, "convert-with-single-line.mht"));
Convertir HTML a MHTML
Convertir un archivo a otro formato utilizando 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 el archivo HTML usando la clase HTMLDocument.
- Cree una instancia de la clase MHTMLSaveOptions.
- Utilice el método ConvertHTML() de la clase Converter para guardar el documento HTML como un archivo MHTML. Debe pasar HTMLDocument, MHTMLSaveOptions y la ruta del archivo de salida al método ConvertHTML() para convertir HTML a MHTML.
1// Prepare a path to a source HTML file
2string documentPath = Path.Combine(DataDir, "drawing.html");
3
4// Prepare a path to save the converted file
5string savePath = Path.Combine(OutputDir, "drawing-output.mht");
6
7// Initialize an HTML document from the file
8using var document = new HTMLDocument(documentPath);
9
10// Initialize MHTMLSaveOptions
11var options = new MHTMLSaveOptions();
12
13// Convert HTML to MHTML
14Converter.ConvertHTML(document, options, savePath);
Opciones de guardado – 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 PageUrlRestriction, ResourceUrlRestriction, MaxHandlingDepth, etc.
Property | Description |
---|---|
PageUrlRestriction | This property gets or sets restrictions applied to URLs of handled pages. The default value is RootAndSubFolders. |
ResourceUrlRestriction | Gets or sets restrictions applied to URLs of handled resources such as CSS, js, images, etc. The default is SameHost. |
MaxHandlingDepth | Gets or sets the maximum depth of pages that will be handled. |
Para obtener más información sobre MHTMLSaveOptions, lea el artículo Convertidores de ajuste fino.
Convierta HTML a MHTML usando MHTMLSaveOptions
Para convertir HTML a MHTML con MHTMLSaveOptions especificado, debe seguir algunos pasos:
- Cargue o prepare un archivo HTML.
- Cree un nuevo objeto MHTMLSaveOptions.
- Utilice el método ConvertHTML() de la clase Converter para guardar HTML como un archivo MHTML. Debe pasar HTMLDocument, MHTMLSaveOptions y la ruta del archivo de salida al método ConvertHTML() para convertir HTML a MHTML.
El siguiente ejemplo muestra cómo utilizar MHTMLSaveOptions y crear un archivo MHTML con opciones de guardado personalizadas:
1// Prepare HTML code with a link to another file and save it to the file as 'document.html'
2var code = "<span>Hello, World!!</span> " +
3 "<a href='document2.html'>click</a>";
4File.WriteAllText("document.html", code);
5
6// Prepare HTML code and save it to the file as 'document2.html'
7code = @"<span>Hello, World!!</span>";
8File.WriteAllText("document2.html", code);
9
10string savePath = Path.Combine(OutputDir, "output-options.mht");
11
12// Change the value of the resource linking depth to 1 in order to convert document with directly linked resources
13var options = new MHTMLSaveOptions()
14{
15 ResourceHandlingOptions =
16 {
17 MaxHandlingDepth = 1
18 }
19};
20
21// Convert HTML to MHTML
22Converter.ConvertHTML("document.html", options, savePath);
El constructor
MHTMLSaveOptions() inicializa una instancia de la clase MHTMLSaveOptions que se pasa al método ConvertHTML(). El método ConvertHTML() toma el document
, las options
, la ruta del archivo de salida savePath
y realiza la operación de conversión. La clase MHTMLSaveOptions proporciona numerosas propiedades que le brindan control total sobre una amplia gama de parámetros y mejoran el proceso de conversión de HTML a formato MHTML.
En el ejemplo anterior, usamos la propiedad MaxHandlingDepth = 1
, lo que significa que solo se manejarán las páginas a las que se hace referencia directamente desde el documento guardado.
Puede descargar los ejemplos completos y los archivos de datos desde GitHub. 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!