Dispositivos de renderizado – Renderizar HTML a PDF, XPS, DOCX e imágenes

En este artículo, describimos cómo utilizar dispositivos de renderizado – PdfDevice, XpsDevice, DocDevice, e ImageDevice para renderizar HTML a PDF, XPS, DOCX, e Imágenes. En los ejemplos de Python, el proceso de renderizado se considera con las opciones de renderizado por defecto. Para obtener más información sobre la personalización de la salida, por favor lea el artículo Rendering Options.

Comprensión de los dispositivos de renderizado (Rendering Devices) en Aspose.HTML

En Aspose.HTML for Python via .NET, un dispositivo de renderizado representa una superficie de dibujo 2D, implementada a través de la interfaz IDevice. Su propósito principal es convertir el contenido de HTML y los formatos web soportados (MHTML, SVG y EPUB) en diferentes formatos de salida.

La API de Python proporciona los siguientes dispositivos de renderizado:

Cada dispositivo tiene opciones de renderizado específicas: PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions e ImageRenderingOptions. Permiten un control preciso sobre la calidad de salida, el diseño y el formato.

PdfDevice

El espacio de nombres Aspose.Html.Rendering.Pdf de la biblioteca Aspose.HTML for Python via .NET proporciona funcionalidad para renderizar HTML y formatos relacionados directamente en documentos PDF. Incluye clases y parámetros adaptados a la salida PDF. Componentes clave:

El siguiente ejemplo de Python muestra cómo utilizar PdfDevice para convertir HTML a PDF. El proceso se considera con las opciones de renderizado por defecto:

 1# Render HTML to PDF in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.pdf as rp
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12input_path = os.path.join(data_dir, "document.html")
13output_path = os.path.join(output_dir, "document.pdf")
14
15# Render HTML to PDF
16with ah.HTMLDocument(input_path) as document:
17    with rp.PdfDevice(output_path) as device:
18        document.render_to(device)

Las opciones de renderizado te dan un control adicional sobre el proceso de renderizado. Para saber más sobre ellas, lee el artículo Opciones de renderizado.

ImageDevice

El espacio de nombres Aspose.Html.Rendering.Image proporciona una clase específica ImageDevice así como la clase ImageRenderingOptions responsable de renderizar archivos HTML a formatos raster: JPG, PNG, BMP, GIF y TIFF.

Este ejemplo muestra cómo convertir un archivo HTML en una imagen JPEG utilizando Aspose.HTML for Python via .NET. El código carga un documento HTML desde el disco, configura las ImageRenderingOptions para el formato JPEG y, a continuación, utiliza el ImageDevice para renderizar el documento en un archivo de imagen de salida.

 1# Render HTML to JPG in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.image as ri
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12document_path = os.path.join(data_dir, "drawing.html")
13save_path = os.path.join(output_dir, "drawing-output.jpg")
14
15# Load the HTML document
16with ah.HTMLDocument(document_path) as document:
17    # Configure JPG output
18    options = ri.ImageRenderingOptions(ri.ImageFormat.JPEG)
19
20    # Render HTML to JPG
21    with ri.ImageDevice(options, save_path) as device:
22        document.render_to(device)

XpsDevice

El espacio de nombres Aspose.Html.Rendering.Xps proporciona la clase XpsDevice, que se utiliza para renderizar contenido HTML (o MHTML, SVG, EPUB, etc.) en documentos XPS. El siguiente ejemplo de Python demuestra este proceso con las opciones de renderizado por defecto:

 1# Render HTML to XPS in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.xps as rx
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12document_path = os.path.join(data_dir, "drawing.html")
13save_path = os.path.join(output_dir, "drawing-output.xps")
14
15# Load the HTML document
16with ah.HTMLDocument(document_path) as document:
17    # Configure XPS output
18    options = rx.XpsRenderingOptions()
19
20    # Render HTML to XPS
21    with rx.XpsDevice(options, save_path) as device:
22        document.render_to(device)

DocDevice

El espacio de nombres Aspose.Html.Rendering.Doc incluye la clase DocDevice, que permite renderizar archivos HTML, MHTML, SVG y EPUB en formato DOCX. El siguiente ejemplo de Python demuestra este proceso utilizando las opciones de renderizado por defecto:

 1# Render HTML to DOCX in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.doc as rd
 6
 7# Prepare the output path
 8output_dir = "output"
 9os.makedirs(output_dir, exist_ok=True)
10save_path = os.path.join(output_dir, "document.docx")
11
12# Render the webpage to DOCX
13with ah.HTMLDocument("https://docs.aspose.com/html/files/document.html") as document:
14    with rd.DocDevice(save_path) as device:
15        document.render_to(device)

Aspose.HTML ofrece Convertidores en línea gratuitos que pueden convertir archivos HTML, XHTML, MHTML, EPUB, XML y Markdown a una serie de formatos populares. Puedes convertir fácilmente tus documentos basados en HTML a PDF, XPS, DOCX, JPG, PNG, GIF, TIFF y otros. Sólo tienes que seleccionar un archivo, elegir el formato a convertir y listo.