Crear un archivo MHTML a partir de HTML editado

Aspose.HTML for .NET carga HTML en un HTMLDocument editable. Después de que una aplicación C# modifique nodos DOM, texto, atributos o estilos, MHTMLSaveOptions empaqueta el HTML resultante y los recursos procesados como un archivo web MHTML o MHT.

Este flujo crea un nuevo archivo MHTML a partir de HTML editable. No abre un archivo .mhtml o .mht existente como un DOM de HTML editable.


Actualizar contenido HTML y guardarlo como MHTML

El siguiente ejemplo carga input.html, actualiza el primer párrafo y escribe el documento modificado y los recursos procesados en edited.mhtml.

Código C# para crear MHTML a partir de HTML editado

using Aspose.Html;
using Aspose.Html.Dom;
using Aspose.Html.Saving;

using HTMLDocument document = new HTMLDocument("input.html");

// Update the HTML DOM before creating the archive
Element paragraph = document.QuerySelector("p");
if (paragraph != null)
{
    paragraph.TextContent = "Updated paragraph text.";
    paragraph.SetAttribute("class", "updated-content");
}

// Package the edited HTML and handled resources as MHTML
MHTMLSaveOptions options = new MHTMLSaveOptions();
document.Save("edited.mhtml", options);

Pasos para crear MHTML a partir de HTML editado

  1. Cargue el origen editable con un constructor de HTMLDocument .
  2. Localice el nodo DOM necesario con QuerySelector() u otro método de navegación.
  3. Actualice el contenido, los atributos o los estilos del elemento antes de crear el archivo.
  4. Cree una instancia de MHTMLSaveOptions y configure el procesamiento de recursos cuando el comportamiento predeterminado no sea suficiente.
  5. Llame a Save() con las opciones MHTML y la ruta de salida con extensión .mhtml o .mht.

Funciones y limitaciones de la creación de MHTML

  • Editar antes de empaquetar. Modifique el DOM de HTML con las mismas API de nodos, selectores, atributos, texto y estilos que utiliza el flujo de edición de HTML .
  • Crear un archivo web único. Empaquete el HTML editado y los recursos procesados en un archivo MHTML para almacenarlo, transferirlo o utilizarlo sin conexión.
  • Controlar el procesamiento de recursos. Utilice MHTMLSaveOptions.ResourceHandlingOptions para configurar restricciones de URL, profundidad de páginas vinculadas y procesamiento de recursos del flujo de archivado.
  • Tener en cuenta los recursos inaccesibles. Una imagen, hoja de estilo, fuente o script remoto puede omitirse cuando no se pueda recuperar o quede excluido por las restricciones configuradas.
  • Procesar archivos existentes mediante flujos específicos. Utilice MHTML a PDF para obtener una salida de diseño fijo o Combinar MHTML para renderizar varios archivos en un único resultado.
  • Utilizar la página de conversión para tareas exclusivas de empaquetado. Cuando no necesite modificar el DOM, consulte HTML a MHTML para ver ejemplos específicos de conversión.

Documentación sobre edición de HTML y MHTML

Consulte Edit HTML Document para ver ejemplos de modificación del DOM. La guía Convert HTML to MHTML explica la creación de archivos y MHTMLSaveOptions. Para conocer la diferencia entre documentos HTML editables y flujos de renderizado MHTML, consulte Create or Load HTML Documents .


Instalar Aspose.HTML for .NET

Instale Aspose.HTML for .NET desde NuGet con la CLI de .NET:

dotnet add package Aspose.HTML

También puede usar la interfaz del Administrador de paquetes NuGet o ejecutar Install-Package Aspose.HTML en la consola del Administrador de paquetes. Consulte la guía de instalación para configurar la biblioteca o solicite una licencia temporal para evaluar la API sin limitaciones.


Preguntas sobre el flujo de HTML a MHTML

1. ¿Se puede crear MHTML a partir de una cadena o un flujo HTML?

Sí. Cree un HTMLDocument a partir de la cadena o el flujo y proporcione una URL base cuando el contenido utilice referencias relativas a recursos. Aplique los cambios DOM necesarios y llame a Save() con MHTMLSaveOptions para escribir el archivo.

2. ¿MHTML y MHT son formatos diferentes?

No. .mhtml y .mht son extensiones habituales del mismo formato de archivo web MIME HTML. Elija la extensión que requiera la aplicación receptora o la convención de almacenamiento.

3. ¿La salida MHTML incluirá todas las imágenes, hojas de estilo, fuentes y scripts vinculados?

El archivo puede incluir los recursos procesados que sean accesibles y estén permitidos por la configuración. Las URL no válidas, los requisitos de autenticación, las restricciones de red o los filtros de las opciones de guardado pueden impedir la inclusión de un recurso.

4. ¿Guardar como MHTML modifica el archivo HTML de origen?

No. Los cambios del DOM existen en el HTMLDocument en memoria y la operación de guardado MHTML escribe un archivo independiente en la ruta de salida seleccionada. El archivo de origen solo cambia si la aplicación lo sobrescribe de forma explícita.

5. ¿La salida MHTML equivale a una salida PDF?

No. MHTML es un archivo web MIME que almacena HTML y recursos relacionados para su posterior procesamiento similar al de un navegador. PDF es un documento renderizado de diseño fijo destinado a una visualización, impresión y distribución coherentes.

Flujos relacionados con HTML y MHTML

Continúe con la edición, la creación de archivos, la conversión o la combinación.