Convertir SVG en PDF en Python
Dans cet article, vous trouverez des informations sur la façon de convertir SVG en PDF en utilisant les méthodes convert_svg() de la classe Converter et sur la façon d’appliquer PdfSaveOptions. Avec Aspose.HTML for Python via .NET, vous pouvez convertir SVG au format PDF de manière programmatique avec un contrôle total sur un large éventail de paramètres de conversion. Vous pouvez également essayer un convertisseur SVG en ligne pour tester les fonctionnalités de l’API Python et convertir des SVG à la volée.
Convertisseur SVG en ligne
Vous pouvez convertir SVG en d’autres formats avec l’API Aspose.HTML en temps réel. Veuillez charger SVG à partir de votre système de fichiers local ou d’une URL, sélectionnez le format de sortie et exécutez l’exemple. Les options de sauvegarde sont définies par défaut. Vous recevrez immédiatement le résultat de la conversion dans un fichier séparé.
Convertir SVG en PDF
Voyons comment convertir un document SVG au format PDF. Les méthodes convert_svg() de la classe Converter sont principalement utilisées comme moyen le plus simple de convertir un fichier SVG dans différents formats. Vous devez suivre quelques étapes :
- Charger un document SVG. Pour convertir, vous pouvez charger un document SVG à partir d’un fichier, d’une URL ou d’une chaîne de code. Dans l’exemple suivant, nous créons un fichier SVG à partir d’un code.
- Créez un nouvel objet PdfSaveOptions. Si vous ne définissez pas d’options spécifiques pour l’enregistrement du fichier PDF résultant, les options par défaut seront utilisées.
- Utilisez la méthode
convert_svg(
content, base_uri, options, output_path
) de la classe Converter pour enregistrer SVG en tant que fichier PDF.
1import os
2from aspose.html import *
3from aspose.html.converters import *
4from aspose.html.saving import *
5
6# Setup directories and define paths
7output_dir = "output/"
8if not os.path.exists(output_dir):
9 os.makedirs(output_dir)
10save_path = os.path.join(output_dir, "circles.pdf")
11
12# SVG code
13svg_code = """
14<svg xmlns="http://www.w3.org/2000/svg">
15 <circle id="base" cx="100" cy="100" r="80" fill="teal" stroke="salmon" stroke-width="10" />
16 <g>
17 <use href="#base" transform="translate(120, 10) scale(0.9)" />
18 <use href="#base" transform="translate(240, 20) scale(0.8)" />
19 <use href="#base" transform="translate(360, 30) scale(0.7)" />
20 <use href="#base" transform="translate(480, 40) scale(0.6)" />
21 <use href="#base" transform="translate(600, 50) scale(0.5)" />
22 </g>
23</svg>
24"""
25
26# Initialize PdfSaveOptions
27options = PdfSaveOptions()
28
29# Convert SVG to PDF
30Converter.convert_svg(svg_code, ".", options, save_path)
La figure montre la qualité du rendu SVG vers PDF en utilisant un fragment du fichier circles.pdf
comme exemple. Nous parlons d’un fragment de fichier car la taille totale du fichier correspondra à une page A4 puisque les options d’enregistrement sont réglées par défaut.
Convertir SVG en PDF en utilisant 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. Voici une description de quelques propriétés disponibles dans PdfSaveOptions
:
- page_setup – Cette propriété permet d’accéder à 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.
- 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 réglage 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.
- css – Cette propriété utilise un objet
CssOptions
pour 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. - 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é.
Pour convertir SVG en PDF en spécifiant PdfSaveOptions
, vous devez suivre quelques étapes :
- Charger un fichier SVG en utilisant l’un des constructeurs SVGDocument() de la classe SVGDocument.
- Créez un nouvel objet PdfSaveOptions et spécifiez les options d’enregistrement.
- Utilisez l’une des méthodes
convert_svg() pour enregistrer SVG en tant que fichier PDF. Dans l’exemple, la méthode convert_svg() prend les paramètres
document
,options
, et le chemin du fichier de sortiesave_path
et effectue l’opération de conversion.
L’extrait de code Python suivant configure les options d’enregistrement des PDF pour définir la taille des pages et les marges, appliquer des règles CSS pour l’impression, compresser les images JPEG à une qualité de 80 % et activer les PDF balisés pour améliorer l’accessibilité :
1import os
2from aspose.html import *
3from aspose.html.saving import *
4from aspose.html.drawing import *
5from aspose.html.converters import *
6from aspose.html.dom.svg import *
7
8# Setup directories and define paths
9output_dir = "output/"
10input_dir = "data/"
11if not os.path.exists(output_dir):
12 os.makedirs(output_dir)
13
14document_path = os.path.join(input_dir, "document.svg")
15save_path = os.path.join(output_dir, "svg-to-pdf.pdf")
16
17# Load an SVG document
18document = SVGDocument(document_path)
19
20# Initialize PdfSaveOptions
21options = PdfSaveOptions()
22
23# Customize save options for PDF
24options.page_setup.any_page = Page(Size(600, 500), Margin(20, 20, 10, 10))
25options.css.media_type.PRINT
26options.jpeg_quality = 80
27options.is_tagged_pdf = True
28
29# Convert SVG to PDF
30Converter.convert_svg(document, options, save_path)
Dans l’exemple ci-dessus, nous utilisons :
- la propriété
page_setup
pour personnaliser la disposition des pages du PDF ; - la propriété
css.media_type
pour spécifier le type de média pour CSS pendant le processus de rendu. Dans cet exemple, elle vautPRINT
, ce qui signifie que les règles CSS définies pour les supports d’impression seront appliquées lors de la génération du PDF ; - la propriété
jpeg_quality
pour définir la qualité de la compression JPEG pour les images dans le PDF. Elle est fixée à80
, ce qui signifie que les images JPEG du PDF seront compressées à 80% de leur qualité d’origine ; - la propriété
is_tagged_pdf
qui active ou désactive la création d’une structure de balises dans le PDF, ce qui est important pour l’accessibilité. En définissant cette propriété àTrue
, on s’assure que le PDF généré sera balisé, ce qui le rendra plus accessible aux utilisateurs qui dépendent de technologies d’assistance telles que les lecteurs d’écran.
Vérifiez la qualité de la conversion SVG vers PDF avec notre Convertisseur SVG vers PDF en ligne. Téléchargez, convertissez vos fichiers et obtenez des résultats en quelques secondes. Essayez gratuitement notre convertisseur SVG vers PDF !
Téléchargez notre Bibliothèque Aspose.HTML for Python via .NET qui vous permet de convertir avec succès, rapidement et facilement vos documents HTML, MHTML, EPUB, SVG et Markdown vers les formats les plus populaires.