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 :

  1. 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.
  2. 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.
  3. 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.

Texte “cercles.pdf image”

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 :

Pour convertir SVG en PDF en spécifiant PdfSaveOptions, vous devez suivre quelques étapes :

  1. Charger un fichier SVG en utilisant l’un des constructeurs SVGDocument() de la classe SVGDocument.
  2. Créez un nouvel objet PdfSaveOptions et spécifiez les options d’enregistrement.
  3. 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 sortie save_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 :

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.

Texte “Convertisseur SVG en PDF”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.