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:

 1import os
 2import aspose.html as ah
 3import aspose.html.rendering.pdf as rp
 4
 5# Prepare output directory and path for the PDF file
 6output_dir = "output/"
 7os.makedirs(output_dir, exist_ok=True)
 8save_path = os.path.join(output_dir, "document.pdf")
 9
10# Prepare HTML code
11code = "<span>Hello, World!!</span>"
12
13# Initialize an HTML document from the HTML code
14doc = ah.HTMLDocument(code, ".")
15
16# Create a PDF Device and specify the output file to render
17device = rp.PdfDevice(save_path)
18
19# Render HTML to PDF
20doc.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.

 1import os
 2import aspose.html as ah
 3import aspose.html.rendering.image as ri
 4
 5# Setup input and output directories
 6data_dir = "data/"
 7output_dir = "output/"
 8os.makedirs(output_dir, exist_ok=True)
 9
10# Prepare paths for input HTML and output JPG file
11document_path = os.path.join(data_dir, "drawing.html")
12save_path = os.path.join(output_dir, "drawing-output.jpg")
13
14# Initialize an HTML document from the file
15doc = ah.HTMLDocument(document_path)
16
17# Create rendering options for image format (JPEG in this case)
18image_options = ri.ImageRenderingOptions(ri.ImageFormat.JPEG)
19
20# Create an ImageDevice and specify options and output file
21device = ri.ImageDevice(image_options, save_path)
22
23# Render HTML to JPG
24doc.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:

 1import os
 2import aspose.html as ah
 3import aspose.html.rendering.xps as rx
 4
 5# Setup input and output directories
 6data_dir = "data/"
 7output_dir = "output/"
 8os.makedirs(output_dir, exist_ok=True)
 9
10# Prepare paths for input HTML and output XPS file
11document_path = os.path.join(data_dir, "drawing.html")
12save_path = os.path.join(output_dir, "drawing-output.xps")
13
14# Initialize an HTML document from the file
15doc = ah.HTMLDocument(document_path)
16
17# Create rendering options for XPS format
18xps_options = rx.XpsRenderingOptions()
19
20# Create an XpsDevice and specify options and output file
21device = rx.XpsDevice(xps_options, save_path)
22
23# Render HTML to JPG
24doc.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:

 1import os
 2import aspose.html as ah
 3import aspose.html.rendering.doc as rd
 4
 5# Prepare output directory and path for the DOCX file
 6output_dir = "output/"
 7os.makedirs(output_dir, exist_ok=True)
 8save_path = os.path.join(output_dir, "document.doc")
 9
10# Initialize an HTML document from URL
11doc = ah.HTMLDocument("https://docs.aspose.com/html/files/document.html")
12
13# Create a DocDevice and specify the output file to render
14device = rd.DocDevice(save_path)
15
16# Render HTML to DOCX
17doc.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.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.