Dispositifs de rendu – Rendre HTML en PDF, XPS, DOCX et images
Dans cet article, nous décrivons comment utiliser les périphériques de rendu – PdfDevice, XpsDevice, DocDevice, et ImageDevice pour rendre HTML en PDF, XPS, DOCX, et Images. Dans les exemples Python, le processus de rendu est considéré avec les options de rendu par défaut. Pour en savoir plus sur la personnalisation du rendu, veuillez lire l’article Options de rendu.
Comprendre les dispositifs de rendu (Rendering Device) dans Aspose.HTML
Dans Aspose.HTML for Python via .NET, un dispositif de rendu représente une surface de dessin 2D, mise en œuvre via l’interface IDevice. Son objectif principal est de convertir le contenu de HTML et des formats web pris en charge (MHTML, SVG et EPUB) dans différents formats de sortie.
L’API Python fournit les dispositifs de rendu suivants :
- PdfDevice – rend HTML, MHTML, SVG et EPUB en PDF.
- XpsDevice – rend HTML, MHTML, SVG et EPUB vers XPS.
- DocDevice – rend HTML, MHTML, SVG et EPUB en DOCX.
- ImageDevice – rend HTML, MHTML, SVG et EPUB aux formats d’image.
Chaque périphérique dispose d’options de rendu spécifiques : PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions, et ImageRenderingOptions. Ces options permettent un contrôle précis de la qualité de la sortie, de la mise en page et du formatage.
PdfDevice
L’espace de noms Aspose.Html.Rendering.Pdf de la bibliothèque Aspose.HTML for Python via .NET fournit une fonctionnalité de rendu du HTML et des formats apparentés directement dans des documents PDF. Il comprend des classes et des paramètres adaptés à la sortie PDF. Composants clés :
PdfDevice
est la classe de base des périphériques de rendu. Elle est utilisée pour convertir HTML (ou MHTML, SVG, EPUB, etc.) en fichier PDF.PdfRenderingOptions
est une classe qui définit les paramètres personnalisables de la sortie PDF, tels que la taille des pages, les marges, la compression des images, les métadonnées, le cryptage et d’autres options de mise en page/formatage.
L’exemple Python suivant montre comment utiliser PdfDevice
pour rendre HTML en PDF. Le processus est considéré avec les options de rendu par défaut :
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)
Les options de rendu vous donnent un contrôle supplémentaire sur le processus de rendu. Pour en savoir plus, lisez l’article Options de rendu.
ImageDevice
L’espace de noms
Aspose.Html.Rendering.Image fournit une classe spécifique
ImageDevice ainsi que la classe ImageRenderingOptions
responsable du rendu des fichiers HTML dans les formats matriciels : JPG, PNG, BMP, GIF et TIFF.
Cet exemple montre comment convertir un fichier HTML en une image JPEG en utilisant Aspose.HTML for Python via .NET. Le code charge un document HTML depuis le disque, configure les ImageRenderingOptions
pour le format JPEG, puis utilise le ImageDevice
pour effectuer le rendu du document dans un fichier image de sortie.
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
L’espace de noms Aspose.Html.Rendering.Xps fournit la classe XpsDevice, qui est utilisée pour rendre le contenu HTML (ou MHTML, SVG, EPUB, etc.) en documents XPS. L’exemple Python suivant démontre ce processus avec les options de rendu par défaut :
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
L’espace de noms Aspose.Html.Rendering.Doc comprend la classe DocDevice, qui permet le rendu des fichiers HTML, MHTML, SVG et EPUB au format DOCX. L’exemple Python suivant démontre ce processus en utilisant les options de rendu par défaut :
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 propose des Convertisseurs gratuits en ligne qui permettent de convertir des fichiers HTML, XHTML, MHTML, EPUB, XML et Markdown dans toute une série de formats populaires. Vous pouvez facilement convertir vos documents HTML en PDF, XPS, DOCX, JPG, PNG, GIF, TIFF et autres. Il vous suffit de sélectionner un fichier, de choisir le format à convertir et le tour est joué.