Convertir HTML en PDF en Python
Un fichier PDF est un document à structure fixe qui comprend le texte, les graphiques, les liens hypertextes, les boutons, les champs de formulaire, le multimédia et d’autres informations nécessaires à l’affichage. Les PDF sont hautement sécurisés, car ils permettent la protection par mot de passe, le cryptage et les signatures numériques pour protéger les informations sensibles. Ils sont également universellement accessibles et peuvent être facilement visualisés sur n’importe quel appareil sans logiciel spécifique. En outre, les PDF sont compacts et peuvent compresser des fichiers de haute qualité en des tailles plus petites, ce qui les rend idéaux pour le partage et le stockage.
Dans ce guide, vous trouverez des informations sur la manière de convertir un document HTML en un fichier Portable Document Format (PDF) en utilisant Aspose.HTML for Python via .NET. Nous allons voir en détail comment convertir HTML en PDF en utilisant les méthodes convert_html() de la classe Converter, et comment appliquer PdfSaveOptions. Vous pouvez également essayer un convertisseur HTML en ligne pour tester les fonctionnalités d’Aspose.HTML et convertir du HTML à la volée.
Pour continuer à suivre ce tutoriel, installez et configurez Aspose.HTML for Python via .NET dans votre projet Python. Nos exemples de code vous aident à convertir HTML en PDF et à générer des fichiers PDF à l’aide de la bibliothèque Python.
HTML vers PDF avec une ligne de code
Les méthodes de la classe Converter sont principalement utilisées comme le moyen le plus simple de convertir un code HTML dans différents formats. Vous pouvez convertir HTML en PDF dans votre application Python littéralement avec une seule ligne de code !
1# Convert HTML to PDF using Python
2
3import aspose.html.converters as conv
4import aspose.html.saving as sav
5
6# Convert HTML to PDF
7conv.Converter.convert_html("document.html", sav.PdfSaveOptions(), "output.pdf")Convertisseur HTML en ligne
Vous pouvez tester la puissance d’Aspose.HTML for Python via .NET et effectuer une conversion HTML en temps réel. Il suffit de charger un fichier HTML à partir de votre système de fichiers local ou d’une URL, de sélectionner le format de sortie souhaité et d’exécuter l’exemple de code fourni. L’exemple utilise les options d’enregistrement par défaut, ce qui permet un processus de conversion simple. Une fois la conversion terminée, vous recevrez instantanément le fichier converti dans le format de votre choix.
Convertir HTML en PDF à l’aide de PdfSaveOptions
Avec Aspose.HTML for Python via .NET, vous pouvez convertir des fichiers de manière programmatique avec un contrôle total sur un large éventail de paramètres de conversion. Pour convertir HTML en PDF en spécifiant PdfSaveOptions, vous devez suivre quelques étapes :
- Chargez un fichier HTML en utilisant l’un des constructeurs HTMLDocument() de la classe HTMLDocument. Dans l’exemple ci-dessus, nous initialisons un document HTML à partir d’un fichier.
- Créez un nouvel objet
PdfSaveOptions et spécifiez les propriétés requises. La classe
PdfSaveOptionsfournit de nombreuses propriétés qui vous donnent un contrôle total sur un large éventail de paramètres et améliorent le processus de conversion de HTML en PDF. - Utilisez la méthode
convert_html() de la classe Converter. Dans l’exemple suivant, vous devez passer les paramètres
HTMLDocument,PdfSaveOptions, et le chemin du fichier de sortie à la méthodeconvert_html().
L’exemple de code Python suivant montre comment utiliser PdfSaveOptions et créer un fichier PDF avec des options d’enregistrement personnalisées :
1# Convert HTML to PDF in Python with custom settings
2
3import os
4import aspose.html as ah
5import aspose.html.converters as conv
6import aspose.html.saving as sav
7import aspose.html.drawing as dr
8import aspose.pydrawing as pd
9import aspose.html.rendering.pdf.encryption as rpe
10
11
12# Setup directories and define paths
13output_dir = "output/"
14input_dir = "data/"
15if not os.path.exists(output_dir):
16 os.makedirs(output_dir)
17document_path = os.path.join(input_dir, "document.html")
18save_path = os.path.join(output_dir, "document-options.pdf")
19
20# Load an HTML document from a file or URL
21doc = ah.HTMLDocument(document_path)
22
23# Initialize saving options
24options = sav.PdfSaveOptions()
25options.page_setup.any_page = dr.Page(dr.Size(800, 600), dr.Margin(10, 10, 10, 10))
26options.css.media_type.PRINT
27options.horizontal_resolution = dr.Resolution.from_dots_per_inch(100.0)
28options.vertical_resolution = dr.Resolution.from_dots_per_inch(100.0)
29options.background_color = pd.Color.bisque
30options.is_tagged_pdf = True
31options.jpeg_quality = 90
32
33doc_info = options.document_info
34doc_info.title = "Aspose HTML Example"
35doc_info.author = "Your Name"
36doc_info.subject = "PDF Conversion"
37doc_info.keywords = "Aspose, HTML, PDF"
38
39options.encryption = rpe.PdfEncryptionInfo(
40 user_password="user123",
41 owner_password="owner123",
42 permissions=rpe.PdfPermissions.PRINT_DOCUMENT | rpe.PdfPermissions.EXTRACT_CONTENT,
43 encryption_algorithm=rpe.PdfEncryptionAlgorithm.RC4_128
44)
45
46# Convert HTML to PDF
47conv.Converter.convert_html(doc, options, save_path)Dans cet exemple, nous convertissons un document HTML en fichier PDF à l’aide d’options d’enregistrement. Le processus consiste à initialiser le document HTML, à définir des options d’enregistrement personnalisées telles que la taille de la page et le type de média css, puis à effectuer la conversion. Enfin, le fichier PDF converti est enregistré dans un répertoire de sortie spécifié.
Vous pouvez évaluer la qualité de la conversion en essayant notre produit. La figure suivante montre le résultat de la conversion d’un fichier aspose.html au format PDF :

Classe PdfSaveOptions
Aspose.HTML for Python via .NET fournit la classe
PdfSaveOptions, qui vous permet de mieux contrôler la manière dont les documents sont enregistrés au format PDF. Certaines propriétés de cette classe héritent de propriétés de classes de base, telles que
PdfRenderingOptions ou RenderingOptions. l’utilisation de PdfSaveOptions vous permet de personnaliser le processus de rendu ; vous pouvez spécifier la taille de la page, les marges, les permissions de fichier, Css, etc. Voici une description des propriétés disponibles dans PdfSaveOptions :
- page_setup – Cette propriété donne accès à un objet PageSetup utilisé pour configurer la mise en page et les paramètres des pages PDF de sortie afin de répondre à des exigences spécifiques en matière d’impression ou d’affichage.
- horizontal_resolution – Cette propriété contrôle la résolution horizontale des images internes utilisées pendant le traitement et des images externes incluses dans le code HTML. Par défaut, elle est fixée à 300 dpi.
- vertical_resolution – Similaire à horizontal_resolution, cette propriété gère la résolution verticale des images internes et externes lors de la génération du PDF. Comme pour la résolution horizontale, la valeur par défaut est de 300 dpi.
- background_color – Cette propriété définit ou récupère la couleur d’arrière-plan qui remplit chaque page du document PDF. La valeur par défaut est transparente, mais elle peut être personnalisée en fonction des préférences de marque ou d’esthétique, afin d’assurer la cohérence entre toutes les pages.
- css – Cette propriété utilise un objet
CssOptionspour configurer le traitement des propriétés CSS pendant la conversion HTML vers PDF. Elle permet un contrôle précis de la façon dont les styles du HTML sont interprétés et appliqués dans le PDF résultant. - document_info – Cette propriété contient des métadonnées et des informations sur le document PDF de sortie, telles que le titre, l’auteur, le sujet et les mots-clés. Ces métadonnées facilitent la gestion, l’indexation et la recherche de documents, en rendant le PDF plus informatif et mieux organisé.
- form_field_behaviour – Cette propriété spécifie le comportement des champs de formulaire interactifs dans le PDF généré.
- jpeg_quality – Cette propriété détermine la qualité de compression JPEG utilisée pour les images intégrées dans un document PDF. La qualité par défaut est fixée à 95, ce qui offre un bon équilibre entre la fidélité de l’image et la taille du fichier. Le paramétrage de cette propriété vous permet d’optimiser la taille du fichier ou la qualité de l’image en fonction de vos besoins spécifiques.
- encryption – Cette propriété fournit des informations détaillées sur le cryptage des documents PDF, y compris la protection par mot de passe et les paramètres d’autorisation. Si elle n’est pas configurée, aucun cryptage n’est appliqué, mais la définition de cette propriété vous permet de distribuer et de contrôler l’accès au contenu PDF sensible en toute sécurité.
- is_tagged_pdf – Lorsque la valeur est fixée à true, une mise en page balisée est créée dans le document PDF, ce qui améliore l’accessibilité pour les utilisateurs handicapés. Cela permet de s’assurer que le contenu est correctement structuré et navigable à l’aide d’une technologie d’assistance et qu’il respecte les normes d’accessibilité.
Conversion de HTML en PDF et aplatissement de PDF
Aspose.HTML for Python via .NET offre la propriété
form_field_behaviour de la classe PdfSaveOptions pour aplatir les documents PDF après leur conversion à partir de HTML ou MHTML. Cette propriété est utilisée pour spécifier le comportement des champs de formulaire dans un document PDF. Si la valeur est FormFieldBehaviour.FLATTENED, tous les champs de formulaire du document PDF seront aplatis.
1# Flatten PDF during HTML to PDF conversion using Python
2
3import os
4import aspose.html as ah
5import aspose.html.converters as conv
6import aspose.html.saving as sav
7import aspose.html.rendering.pdf as rp
8
9# Setup directories and define paths
10data_dir = "data/"
11output_dir = "output/"
12os.makedirs(output_dir, exist_ok=True)
13
14source_path = os.path.join(data_dir, "SampleHtmlForm.html")
15result_path = os.path.join(output_dir, "form-flattened.pdf")
16
17# Load an HTML document
18doc = ah.HTMLDocument(source_path)
19
20# Initialize PdfSaveOptions
21options = sav.PdfSaveOptions()
22options.form_field_behaviour = rp.FormFieldBehaviour.FLATTENED
23
24# Convert HTML to PDF
25conv.Converter.convert_html(doc, options, result_path)Comment convertir HTML en XPS
Aspose.HTML for Python via .NET prend en charge la conversion de HTML en XPS. Pour ce faire, vous devez utiliser
XpsSaveOptions pour obtenir un objet d’options de sauvegarde qui est passé à la méthode convert_html() :
options = XpsSaveOptions()
L’utilisation de XpsSaveOptions vous permet de personnaliser le processus de rendu ; vous pouvez spécifier les propriétés page_setup, background_color, css, horizontal_resolution et vertical_resolution.
Téléchargez la bibliothèque Aspose.HTML for Python via .NET pour convertir avec succès, rapidement et facilement vos documents HTML, MHTML, EPUB, SVG et Markdown vers les formats les plus populaires.
Vous pouvez télécharger les exemples complets et les fichiers de données depuis GitHub.
Aspose.HTML propose un Convertisseur HTML en PDF en ligne gratuit qui convertit HTML en PDF avec une grande qualité, facilement et rapidement. Il suffit de télécharger, de convertir vos fichiers et d’obtenir le résultat en quelques secondes !
