Convertir HTML en PDF en Python
Conversion de HTML en PDF avec Python
Aspose.PDF for Python via .NET vous permet de convertir des documents HTML existants en PDF avec des options de rendu flexibles. Vous pouvez affiner la génération de la sortie pour qu’elle corresponde à votre mise en page, votre style, vos exigences d’accessibilité et d’archivage.
Convertir le HTML en PDF
L’exemple Python suivant montre le flux de travail de base pour convertir un document HTML en PDF.
- Créer une instance de HtmlLoadOptions classe.
- Initialiser un Document objet avec le fichier HTML source.
- Enregistrez le document PDF de sortie en appelant
document.save().
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
load_options.page_layout_option = ap.HtmlPageLayoutOption.SCALE_TO_PAGE_WIDTH
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Conversions associées
- Convertir le PDF en HTML lorsque vous avez besoin d’une sortie prête pour le Web à partir de fichiers PDF existants.
- Convertir d’autres formats de fichier en PDF pour les flux de travail de conversion EPUB, XPS, texte et PostScript.
- Convertir les images en PDF lorsque votre contenu source est basé sur des images plutôt que sur du balisage HTML.
Essayez de convertir HTML en PDF en ligne
Aspose présente l’application en ligne HTML en PDF, où vous pouvez tester la qualité de conversion et le résultat.
Convertir HTML en PDF en utilisant le type de média
Cet exemple montre comment convertir un fichier HTML en PDF à l’aide d’options de rendu spécifiques.
- Créer une instance de HtmlLoadOptions() classe.
- Définir
html_media_typepour appliquer des règles CSS destinées aux mises en page écran ou impression, telles queHtmlMediaType.SCREENouHtmlMediaType.PRINT. - Charger le HTML dans un
ap.Documenten utilisant les options de chargement. - Enregistrez le document au format PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
load_options.html_media_type = ap.HtmlMediaType.SCREEN
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Priorisez le CSS @page règle lors de la conversion HTML en PDF
Certains documents utilisent le @page règle pour la mise en page. Si ces styles entrent en conflit avec d’autres paramètres, vous pouvez contrôler la priorité avec is_priority_css_page_rule.
- Créer une instance de HtmlLoadOptions classe.
- Définir
is_priority_css_page_rule = Falselaisser d’autres styles prévaloir sur@pagerègles. - Charger le HTML dans un
ap.Documentavec les options configurées. - Enregistrez le document au format PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
# load_options.is_priority_css_page_rule = False
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Convertir le HTML en PDF avec des polices intégrées
Cet exemple montre comment convertir un fichier HTML en PDF tout en incorporant les polices. Si vous avez besoin que le PDF de sortie préserve la typographie d’origine, définissez is_embed_fonts à True.
- Créer
HtmlLoadOptions()pour configurer la conversion HTML en PDF. - Définir
is_embed_fonts = Trueintégrer les polices utilisées dans le HTML directement dans le PDF. - Charger le HTML dans un
ap.Documentavec ces options. - Enregistrez le document au format PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
load_options.is_embed_fonts = True
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Rendre le contenu HTML sur une seule page PDF
Cet exemple montre comment convertir un fichier HTML en un PDF d’une seule page en utilisant Aspose.PDF for Python via .NET. Utilisez le is_render_to_single_page propriété lorsque vous souhaitez que le contenu HTML complet soit rendu sur une page continue.
- Créer une instance de
HtmlLoadOptions()pour configurer le processus de conversion. - Activer
is_render_to_single_pageafficher le contenu HTML complet sur une seule page. - Chargez le document avec les options configurées dans un
ap.Document. - Enregistrez le résultat sous forme de fichier PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
options = ap.HtmlLoadOptions()
options.is_render_to_single_page = True
doc = ap.Document(path_infile, options)
doc.save(path_outfile)
Créer une structure logique à partir des balises HTML
La structure logique, également appelée Tagged PDF, préserve la hiérarchie sémantique du HTML d’origine, telle que les titres, les paragraphes et les listes. Cela rend le PDF résultant plus accessible, consultable et adapté aux flux de travail de documents structurés.
En activant la structure logique pendant la conversion, le DOM HTML est mappé dans un arbre de balises PDF plutôt que d’être rendu uniquement en tant que contenu visuel.
Pour répondre aux exigences d’accessibilité, un PDF doit inclure des éléments de structure logique qui définissent l’ordre de lecture, fournissent un texte alternatif pour les lecteurs d'écran et préservent la hiérarchie du contenu.
La qualité de la structure logique dans le PDF de sortie dépend directement de la qualité du balisage HTML d’origine. Un HTML mal structuré ou invalide peut entraîner un balisage incomplet ou inexact dans le PDF converti.
- Créez une instance de HtmlLoadOptions pour contrôler la façon dont le HTML est converti.
- Activez le balisage sémantique afin que le PDF contienne des éléments structurés.
- Ouvrez le fichier HTML en utilisant les options configurées.
- Enregistrez le PDF structuré.
import aspose.pdf as ap
# Path to the source HTML
input_html_path = "input.html"
# Path for the Logical Structure PDF
output_pdf_path = "output_logical_structure.pdf"
# Initialize HtmlLoadOptions
options = ap.HtmlLoadOptions()
# Convert HTML markup to PDF logical structure elements
options.create_logical_structure = True
# Open PDF document
with ap.Document(input_html_path, options) as document:
# Save PDF document
document.save(output_pdf_path)
Convertir MHTML en PDF
Cet exemple montre comment convertir un fichier MHT ou MHTML en document PDF en utilisant Aspose.PDF for Python via .NET avec des dimensions de page spécifiques.
- Créer une instance de
ap.MhtLoadOptions()pour configurer le traitement des fichiers MHTML. - Définissez différents paramètres, tels que la taille de la page.
- Initialisez le document avec le fichier d’entrée et les options de chargement configurées.
- Enregistrez le document résultant au format PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.MhtLoadOptions()
load_options.page_info.width = 842
load_options.page_info.height = 1191
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
