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:
- PdfDevice – convierte HTML, MHTML, SVG y EPUB a PDF.
- XpsDevice – convierte HTML, MHTML, SVG y EPUB a XPS.
- DocDevice – convierte HTML, MHTML, SVG y EPUB a DOCX.
- ImageDevice – convierte HTML, MHTML, SVG y EPUB a formatos de imagen.
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:
PdfDevice
es la clase base de dispositivos de renderizado. Se utiliza para convertir HTML (o MHTML, SVG, EPUB, etc.) en un archivo PDF.PdfRenderingOptions
es una clase que define opciones personalizables para la salida de PDF, como tamaño de página, márgenes, compresión de imagen, metadatos, encriptación y otras opciones de diseño/formato.
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.