Options de rendu – Personnaliser le rendu HTML
Les options de rendu permettent de contrôler en détail la manière dont le périphérique de rendu traite le contenu. Chaque périphérique – PdfDevice, XpsDevice, DocDevice et ImageDevice – possède sa propre classe d’options : PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions, et ImageRenderingOptions. Ces options vous permettent d’ajuster la taille des pages, les marges et les couleurs, ainsi que d’appliquer des paramètres spécifiques au périphérique, tels que l’ajout d’un mot de passe de sécurité aux fichiers PDF. La personnalisation est essentielle pour obtenir les résultats souhaités, qu’il s’agisse de réduire la taille du fichier en ajustant la qualité et la résolution de l’image ou d’améliorer la lisibilité en optimisant la mise en page et le formatage du texte.
Dans cet article, les options de rendu dans Aspose.HTML for Python via .NET sont explorées, montrant comment personnaliser la conversion du contenu HTML dans des formats de sortie tels que PDF, XPS, DOCX et des images. Ces options comprennent des paramètres généraux tels que la taille de la page, la couleur d’arrière-plan et la résolution, ainsi que des paramètres spécifiques au périphérique, notamment la compression d’image, la sécurité PDF et l’incorporation de polices, qui permettent un contrôle total de la sortie finale.
Vous trouverez ici des exemples de code Python qui démontrent l’utilisation de paramètres spécifiques à l’appareil. L’utilisation des options générales sera traitée dans le chapitre “Articles pratiques” (en préparation).
Pour en savoir plus sur le processus de rendu, veuillez lire l’article Dispositif de rendu.
PdfRenderingOptions
La classe
PdfRenderingOptions, en plus des options générales, supporte plusieurs paramètres spécifiques, tels que jpeg_quality, document_info, encryption, form_field_behaviour, et is_tagged_pdf.
| Property | Description | 
|---|---|
| jpeg_quality | Specifies the quality of JPEG compression for images. The default value is 95. | 
| document_info | This property contains information about the output PDF document. | 
| encryption | This property gets or sets encryption details. If it is not set, then no encryption will be performed. | 
| form_field_behaviour | This property specifies the behavior of form fields in the output PDF document. | 
| is_tagged_pdf | If is_tagged_pdf = true, a tag structure will be added to the PDF document during rendering. | 
La propriété form_field_behaviour est utilisée pour spécifier le comportement des champs de formulaire dans un document PDF. Pour savoir ce que signifie aplatir un fichier PDF et comment le faire à l’aide de la bibliothèque Aspose.HTML for Python via .NET, veuillez consulter la section
Conversion HTML vers PDF et aplatissement PDF.
Le code Python suivant montre comment ajouter du cryptage à un fichier de sortie PDF en utilisant la classe PdfRenderingOptions :
 1# Render HTML to PDF with password protection using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering as rn
 6import aspose.html.rendering.pdf as rp
 7import aspose.html.rendering.pdf.encryption as rpe
 8
 9# Setup input and output directories
10data_dir = "data/"
11output_dir = "output/"
12os.makedirs(output_dir, exist_ok=True)
13
14# Prepare path to the source HTML file
15document_path = os.path.join(data_dir, "document.html")
16
17# Initialize an HTML document from the file
18doc = ah.HTMLDocument(document_path)
19
20# Create an instance of the HTML Renderer
21renderer = rn.HtmlRenderer()
22
23# Prepare path to save the converted PDF
24save_path = os.path.join(output_dir, "convert-html-to-pdf-with-encryption.pdf")
25
26# Create PDF rendering options and set password protection
27options = rp.PdfRenderingOptions()
28options.encryption = rpe.PdfEncryptionInfo(
29    user_password="user_pwd",
30    owner_password="owner_pwd",
31    permissions=rpe.PdfPermissions.PRINT_DOCUMENT,
32    encryption_algorithm=rpe.PdfEncryptionAlgorithm.RC4_128
33)
34
35# Create the PDF device with options and output path
36device = rp.PdfDevice(options, save_path)
37
38# Render HTML to PDF
39renderer.render(device, doc)L’exemple ci-dessus montre comment créer une nouvelle instance PdfRenderingOptions et définir les options de cryptage pour un fichier de sortie PDF. Pour ce faire, vous devez créer un objet PdfEncryptionInfo, qui définit les paramètres de cryptage du fichier PDF. Le constructeur prend quatre paramètres :
- user_passwordet- owner_password, qui sont nécessaires pour ouvrir et travailler avec le fichier PDF ;
- permissions– un ensemble de permissions autorisées pour un fichier PDF. Dans ce cas,- PdfPermissions.PRINT_DOCUMENTest spécifié, ce qui permet à l’utilisateur d’imprimer le document ;
- encryption_algorithm– l’algorithme de cryptage utilisé pour sécuriser le fichier PDF. Dans ce cas,- PdfEncryptionAlgorithm.RC4_128est utilisé, qui est un algorithme de cryptage RC4 de 128 bits.
ImageRenderingOptions
La classe ImageRenderingOptions prend en charge toutes les options générales et vous permet de configurer des options spécifiques, telles que l’anticrénelage, la configuration du rendu du texte, la sélection du format de l’image et la compression de l’image.
| Property | Description | 
|---|---|
| compression | Sets Tagged Image File Format (TIFF) compression. By default, this property is LZW. | 
| format | Sets the
ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG. | 
| use_antialiasing | This property defines the rendering quality of the image by controlling the use of antialiasing. Antialiasing is enabled by default. | 
| text | Gets a TextOptions object which is used for configuration of text rendering. | 
Voyons comment utiliser un objet spécialisé ImageRenderingOptions pour définir le format TIFF et la compression de l’image :
 1# Render HTML to TIFF with custom settings using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.image as ri
 6
 7# Setup input and output directories
 8data_dir = "data/"
 9output_dir = "output/"
10os.makedirs(output_dir, exist_ok=True)
11
12# Prepare paths for input HTML and output TIFF file
13document_path = os.path.join(data_dir, "html_file.html")
14save_path = os.path.join(output_dir, "document.tiff")
15
16# Initialize an HTML document from the file
17doc = ah.HTMLDocument(document_path)
18
19# Create rendering options for image format (TIFF in this case)
20image_options = ri.ImageRenderingOptions(ri.ImageFormat.TIFF)
21image_options.compression = ri.Compression.NONE
22
23# Create an ImageDevice and specify options and output file
24device = ri.ImageDevice(image_options, save_path)
25
26# Render HTML to TIFF
27doc.render_to(device)XpsRenderingOptions
les XpsRenderingOptions héritent de tous les paramètres de la classe de base RenderingOptions. Vous pouvez configurer la taille des pages, les marges, la couleur d’arrière-plan et d’autres options courantes lors de la génération de fichiers XPS.
 1# Render HTML to XPS with custom page settings using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.xps as rx
 6import aspose.html.drawing as dr
 7
 8# Setup input and output directories
 9data_dir = "data/"
10output_dir = "output/"
11os.makedirs(output_dir, exist_ok=True)
12
13# Prepare a path to the source HTML file
14document_path = os.path.join(data_dir, "document.html")
15
16# Initialize the HTML document from the file
17doc = ah.HTMLDocument(document_path)
18
19# Create an instance of XPS Rendering Options
20options = rx.XpsRenderingOptions()
21
22# Set custom page size (5 x 2 inches)
23options.page_setup.any_page = dr.Page(dr.Size(dr.Length.from_inches(5.0), dr.Length.from_inches(2.0)))
24
25# Prepare a path to save the converted file
26save_path = os.path.join(output_dir, "document-options.xps")
27
28# Create an XpsDevice with the specified options and output file
29device = rx.XpsDevice(options, save_path)
30
31# Render HTML to XPS
32doc.render_to(device)DocRenderingOptions
La classe
DocRenderingOptions prend en charge toutes les options générales et vous permet de personnaliser les propriétés font_embedding_rule et document_format pour le fichier de sortie.
| Property | Description | 
|---|---|
| font_embedding_rule | This property gets or sets the font embedding rule. Available values are Full and None. The default value is None. | 
| document_format | This property gets or sets the file format of the output document. The default value is DOCX. | 
L’exemple suivant montre comment personnaliser les options de rendu d’un document DOCX en définissant la taille de la page et la règle d’intégration des polices :
 1# Render HTML to DOCX with custom settings using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.doc as rd
 6import aspose.html.drawing as dr
 7
 8# Setup input and output directories
 9data_dir = "data/"
10output_dir = "output/"
11os.makedirs(output_dir, exist_ok=True)
12
13# Prepare a path to the source HTML file
14document_path = os.path.join(data_dir, "nature.html")
15
16# Initialize the HTML document from the file
17doc = ah.HTMLDocument(document_path)
18
19# Create an instance of DocRenderingOptions and set a custom page size
20options = rd.DocRenderingOptions()
21options.page_setup.any_page = dr.Page(dr.Size(dr.Length.from_inches(8.0), dr.Length.from_inches(10.0)))
22options.font_embedding_rule = rd.FontEmbeddingRule.FULL
23
24# Prepare a path to save the converted file
25save_path = os.path.join(output_dir, "nature-options.docx")
26
27# Create a DocDevice with the specified options and output file
28device = rd.DocDevice(options, save_path)
29
30# Render HTML to DOCX
31doc.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é.
