Convertir des fichiers SVG en Python

Quick Answer: Aspose.SVG for Python via .NET convertit SVG en PDF, PNG, JPG, BMP, TIFF, GIF et XPS. Utilisez Converter.convert_svg() pour une conversion directe de fichiers, ou chargez un SVGDocument et appelez render_to(device) si vous avez besoin d’un flux basé sur un périphérique de rendu.

Conversion SVG en Python

SVG est idéal pour les graphiques évolutifs, mais de nombreux flux exigent des formats de sortie fixes. Utilisez PDF pour l’impression et l’échange de documents, PNG ou JPG pour les aperçus web et les ressources raster, TIFF ou BMP pour les pipelines d’image, GIF pour une sortie raster légère et XPS pour les documents à mise en page fixe.

Cette page présente brièvement l’API de conversion SVG. Pour les options détaillées et les exemples propres à chaque format, consultez les articles liés ci-dessous.

Formats de sortie pris en charge

Format de sortieUsage courantArticle détaillé
PDFImpression, archivage, échange de documentsConvertir SVG en PDF
PNGImages web, sortie raster transparente, aperçusConvertir SVG en PNG
JPGAperçus raster sans transparenceConvertir SVG en JPG
BMPSortie bitmap simpleConvertir SVG en image
TIFFFlux raster polyvalents et publicationConvertir SVG en image
GIFSortie raster légèreConvertir SVG en image
XPSSortie de document à mise en page fixeVoir l’exemple XPS ci-dessous

Convertir SVG avec Converter.convert_svg()

La classe Converter est la façon la plus simple de convertir des fichiers SVG. Créez des options d’enregistrement pour le format cible, chargez le document SVG avec SVGDocument et appelez Converter.convert_svg().

1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import ImageSaveOptions
4
5# Convert SVG to PNG using the high-level converter API
6options = ImageSaveOptions()
7
8with SVGDocument("image.svg") as document:
9    Converter.convert_svg(document, options, "image.png")

Convertir SVG en XPS en Python

XPS est un format de sortie à mise en page fixe assez spécialisé. Utilisez-le lorsqu’un flux Windows, d’impression ou d’archivage exige explicitement XPS. Pour la plupart des échanges de documents, PDF reste généralement le meilleur choix par défaut.

1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import XpsSaveOptions
4
5# Convert SVG to XPS when the target workflow requires XPS output
6options = XpsSaveOptions()
7
8with SVGDocument("document.svg") as document:
9    Converter.convert_svg(document, options, "document.xps")

Convertir SVG avec render_to()

La méthode render_to() envoie le contenu SVG vers un périphérique de rendu. Utilisez ce flux lorsque l’application doit contrôler explicitement un périphérique cible comme PdfDevice, XpsDevice ou ImageDevice.

 1import os
 2from aspose.svg import SVGDocument
 3from aspose.svg.rendering.pdf import PdfDevice, PdfRenderingOptions
 4
 5# Render SVG to PDF using a rendering device
 6input_folder = "data/"
 7output_folder = "output/"
 8input_path = os.path.join(input_folder, "document.svg")
 9output_path = os.path.join(output_folder, "document.pdf")
10os.makedirs(output_folder, exist_ok=True)
11
12options = PdfRenderingOptions()
13options.jpeg_quality = 80
14
15with SVGDocument(input_path) as document:
16    with PdfDevice(options, output_path) as device:
17        document.render_to(device)

Options de conversion

La plupart des conversions SVG utilisent des options d’enregistrement ou de rendu pour contrôler la qualité, la mise en page, le fond et la gestion des ressources.

Groupe d’optionsUtilisé avecExemples
ImageSaveOptionsSortie PNG, JPG, BMP, TIFF, GIFFormat d’image, fond, page, résolution
PdfSaveOptionsSortie PDF via Converter.convert_svg()Page, qualité JPEG, métadonnées, chiffrement, fond
XpsSaveOptionsSortie XPS via Converter.convert_svg()Page, fond, résolution
PdfRenderingOptionsSortie PDF via PdfDevicePage, qualité JPEG, résolution, fond
RenderingOptionsFlux de rendu basés sur un périphériqueParamètres communs hérités par les options spécifiques

Conversion par lots

La conversion par lots utilise les mêmes APIs que la conversion d’un seul fichier. Parcourez un dossier de fichiers SVG, créez un chemin de sortie pour chaque fichier et appelez Converter.convert_svg() pour chaque document. Consultez Convertir des fichiers SVG par lots en Python pour des exemples PNG, JPG et PDF.

Convertisseur SVG en ligne

Utilisez le SVG Converter gratuit pour tester la conversion SVG avant de l’implémenter en Python. Téléversez un SVG, choisissez un format de sortie et comparez le fichier généré.

                
            

Convertisseur SVG en ligne pour PDF, PNG, JPG, BMP, TIFF, GIF et XPS

Erreurs courantes et solutions

ProblèmeCause probableSolution
Le fichier de sortie manqueLe dossier de sortie n’existe pas ou le fichier a été enregistré ailleursCréez le dossier avec os.makedirs() et utilisez des chemins explicites
L’image convertie a un mauvais fondLe SVG contient de la transparence et aucun fond n’a été définiDéfinissez le fond dans les options d’enregistrement ou de rendu
La taille PDF ou image est inattendueLa configuration de page ne correspond pas au viewport ou au contenu SVGConfigurez taille, marges ou mode de dimensionnement dans les options
Des images ou polices externes manquentLes ressources relatives ne sont pas résolues pendant la conversionGardez les ressources près du SVG ou utilisez des chemins/base paths corrects
La sortie est trop volumineuseLe SVG est complexe ou les paramètres raster sont trop élevésRéduisez résolution, qualité JPEG, taille d’image ou simplifiez le SVG

FAQ

Comment convertir des fichiers SVG en Python ?
Chargez le fichier avec SVGDocument, créez des options d’enregistrement pour le format cible et appelez Converter.convert_svg().

Quels formats de sortie SVG sont pris en charge ?
Aspose.SVG for Python via .NET prend en charge PDF, XPS, PNG, JPG, BMP, TIFF et GIF.

Faut-il utiliser Converter.convert_svg() ou render_to() ?
Utilisez Converter.convert_svg() pour la conversion ordinaire de fichiers. Utilisez render_to() si vous avez besoin d’un flux avec PdfDevice, XpsDevice ou ImageDevice.

Puis-je convertir SVG depuis une URL ?
Oui. Chargez l’URL SVG avec SVGDocument si le réseau est disponible, puis convertissez-la avec la même API que pour les fichiers locaux.

Puis-je convertir SVG en XPS en Python ?
Oui. Créez XpsSaveOptions et passez-le avec le SVGDocument chargé à Converter.convert_svg(). Utilisez XPS seulement si votre flux cible l’exige.

Puis-je convertir plusieurs SVG par lots ?
Oui. Parcourez le dossier d’entrée, chargez chaque .svg avec SVGDocument et appelez Converter.convert_svg() pour chaque sortie.

Puis-je changer la taille de sortie pendant la conversion ?
Oui. Configurez la page, les marges, le dimensionnement et la résolution via les options du format cible.

Articles associés