Cómo funciona la unión de HTML en C#
Aspose.HTML for .NET
combina varios objetos HTMLDocument renderizándolos en secuencia en un mismo dispositivo de salida. Cree un HtmlRenderer, seleccione el dispositivo para PDF, XPS, DOCX o TIFF y pase los documentos de origen a HtmlRenderer.Render() en el orden necesario. Este flujo de trabajo produce una única salida renderizada, en lugar de unir los árboles DOM de origen en un nuevo documento HTML editable.
Unir HTML en C# con un ejemplo interactivo
Use el ejemplo interactivo para preparar el flujo de trabajo antes de incorporarlo a un proyecto .NET. Añada archivos HTML locales o direcciones URL en el orden necesario y seleccione un formato de salida. Para PDF, XPS, DOCX y TIFF, el panel C# actualiza las declaraciones de los documentos, el dispositivo de renderizado y la extensión del archivo. Puede ejecutar en línea la unión configurada para comprobar el resultado o crear un archivo web MHTML.
using Aspose.Html;
using Aspose.Html.Rendering;
using Aspose.Html.Rendering.Pdf;
// Load the HTML documents in the required merge order.
using HTMLDocument first = new HTMLDocument("first.html");
using HTMLDocument second = new HTMLDocument("second.html");
// Create the renderer and the PDF output device.
using HtmlRenderer renderer = new HtmlRenderer();
using PdfDevice device = new PdfDevice("merged.pdf");
// Merge the HTML files into one PDF document.
renderer.Render(device, first, second);
Flujo de trabajo para unir HTML
PDF está seleccionado de forma predeterminada. El código generado usa
HtmlRenderer
para enviar los documentos de origen al dispositivo de salida seleccionado.
- Cargue cada archivo de origen en un objeto
HTMLDocument. - Cree un
HtmlRendererpara los archivos HTML. - Cree el dispositivo correspondiente al formato de salida. Por ejemplo, use
PdfDevicepara PDF. - Llame a
HtmlRenderer.Render()pasando primero el dispositivo y después los documentos de origen en el orden necesario.
Elegir un formato de salida para unir HTML
Seleccione el formato según el uso previsto del contenido combinado:
- PDF – distribuya o imprima un documento con diseño fijo.
- XPS – genere un resultado de diseño fijo para flujos de trabajo basados en XPS.
- DOCX – abra el resultado en Microsoft Word u otro editor compatible.
- TIFF – guarde las páginas renderizadas como una imagen ráster.
- MHTML – conserve las páginas HTML y los recursos web disponibles en un único archivo MIME.
Consulte Dispositivos de renderizado en C# cuando necesite parámetros específicos de página, imagen o documento.
Consideraciones al unir archivos HTML
- Las cargas del navegador proporcionan nombres de archivo, no rutas locales. Sustituya los nombres mostrados por rutas válidas al copiar el C# generado en un proyecto.
- Las URL base controlan la resolución de los recursos. Los archivos locales resuelven CSS, imágenes, scripts y fuentes relativos desde su ubicación de origen. El HTML creado desde una cadena o un flujo necesita una URL base válida. Consulte Crear y cargar documentos HTML para obtener más información.
- Los recursos externos deben estar disponibles. Las hojas de estilo, imágenes y fuentes ausentes o bloqueadas pueden faltar en la salida renderizada o en el archivo MHTML.
- Los orígenes remotos requieren precaución. Envíe únicamente direcciones URL de confianza y tenga en cuenta que los recursos protegidos o no disponibles podrían no incluirse en el resultado.
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 frecuentes sobre la unión de HTML
1. ¿Puede la herramienta crear un único documento HTML editable?
Los flujos de trabajo mostrados producen un documento renderizado o un archivo MHTML de varias partes, no un DOM HTML combinado. Para crear un HTML editable, prepare un HTMLDocument de destino, importe los nodos necesarios y defina cómo tratar metadatos, identificadores, estilos y recursos relativos duplicados.
2. ¿Puedo combinar archivos HTML locales y direcciones URL en una misma operación?
Sí, siempre que la aplicación pueda acceder a todas las fuentes. Los documentos locales necesitan rutas válidas. Las páginas remotas deben ser públicas o cargarse mediante un servicio de red configurado adecuadamente. Los recursos protegidos o no disponibles no se incluirán automáticamente.
3. ¿Puedo escribir el PDF combinado en un flujo?
Sí. Cree PdfDevice con un objeto Stream o use ICreateStreamProvider cuando la aplicación deba controlar la creación y liberación de flujos. Pase el dispositivo a HtmlRenderer.Render() junto con los documentos de origen.
4. ¿Cómo configuro el tamaño de página y los márgenes del PDF?
Configure PdfRenderingOptions, incluido PageSetup, y pase las opciones al constructor de PdfDevice. Estos ajustes se aplicarán mientras todos los documentos de origen se renderizan en la misma salida PDF.
5. ¿Pueden los documentos HTML de origen usar URL base diferentes?
Sí. Cada HTMLDocument puede conservar su propia URL base, por lo que las hojas de estilo, imágenes, fuentes y enlaces relativos se resuelven desde la ubicación de cada documento. Todos los recursos locales o remotos deben seguir disponibles durante la ejecución de HtmlRenderer.Render().
Otras formas de unir archivos
Elija otro formato de origen o vuelva a la descripción general de los flujos de unión.