Convertir SVG en JPG en Python

Quick Answer: Pour convertir SVG en JPG en Python, chargez la source avec SVGDocument, créez ImageSaveOptions, définissez options.format = ImageFormat.JPEG et appelez Converter.convert_svg(document, options, output_path). Définissez un fond, car JPG ne prend pas en charge la transparence.

Convertir SVG en JPG par programmation

JPG est utile pour les aperçus raster compacts, miniatures, images de rapport ou ressources web sans transparence. Si le SVG contient des zones transparentes, choisissez une couleur de fond explicite avant conversion.

Avant d’exécuter les exemples, installez Aspose.SVG for Python via .NET dans votre environnement Python.

Convertir SVG en JPG avec les paramètres par défaut

L’exemple charge document.svg, sélectionne la sortie JPEG et enregistre document.jpg.

 1from aspose.svg import SVGDocument
 2from aspose.svg.converters import Converter
 3from aspose.svg.rendering.image import ImageFormat
 4from aspose.svg.saving import ImageSaveOptions
 5
 6# Convert an SVG file to JPG
 7options = ImageSaveOptions()
 8options.format = ImageFormat.JPEG
 9
10with SVGDocument("document.svg") as document:
11    Converter.convert_svg(document, options, "document.jpg")

L’exemple utilise SVGDocument pour charger la source, ImageSaveOptions avec ImageFormat.JPEG pour choisir JPG et Converter.convert_svg() pour écrire le fichier converti.

Convertir SVG en JPG avec des options personnalisées

Utilisez ImageSaveOptions lorsque le JPG nécessite un canevas, un fond ou une résolution spécifiques. L’exemple définit un fond clair, crée une page 450 × 450 avec marges et rend à 96 dpi.

 1import os
 2from aspose.svg import SVGDocument
 3from aspose.svg.converters import Converter
 4from aspose.svg.drawing import Margin, Page, Resolution, Size
 5from aspose.svg.rendering.image import ImageFormat
 6from aspose.svg.saving import ImageSaveOptions
 7from aspose.pydrawing import Color
 8
 9# Convert SVG to JPG with custom background, page size, and resolution
10input_folder = "data/"
11output_folder = "output/"
12input_path = os.path.join(input_folder, "flower.svg")
13output_path = os.path.join(output_folder, "flower.jpg")
14os.makedirs(output_folder, exist_ok=True)
15
16options = ImageSaveOptions()
17options.format = ImageFormat.JPEG
18options.background_color = Color.from_argb(240, 240, 240)
19options.page_setup.any_page = Page(Size(350, 350), Margin(10, 10, 10, 10))
20options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
21options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
22
23with SVGDocument(input_path) as document:
24    Converter.convert_svg(document, options, output_path)

L’image montre le SVG source (a) et le JPG converti (b) avec fond personnalisé.

SVG original et JPG converti avec fond personnalisé

Propriétés importantes de ImageSaveOptions

PropriétéQuand l’utiliser
formatSélectionner la sortie JPEG avec ImageFormat.JPEG
background_colorRemplir les zones transparentes avant enregistrement en JPG
page_setupDéfinir dimensions, marges et canevas
horizontal_resolutionDéfinir la résolution horizontale en dpi
vertical_resolutionDéfinir la résolution verticale en dpi
smoothing_modeContrôler la qualité de rasterisation

Erreurs courantes et solutions

ProblèmeCause probableSolution
Fond JPG noir ou inattenduLe SVG a de la transparence, mais JPG ne peut pas la stockerDéfinissez options.background_color avant conversion
Image vide ou rognéeSVG sans viewport utile ou page de sortie trop petiteDéfinissez width, height ou viewBox, ou configurez options.page_setup.any_page
Images, CSS ou polices manquentLes ressources relatives ne sont pas résolues depuis le chemin courantChargez le SVG depuis son chemin d’origine et gardez les ressources relatives
Extension et format ne correspondent pasoptions.format n’est pas ImageFormat.JPEG ou l’extension est incorrecteDéfinissez options.format = ImageFormat.JPEG et enregistrez en .jpg ou .jpeg
Lignes ou texte crénelésDimensions ou résolution trop faiblesAugmentez taille ou résolution et vérifiez smoothing_mode

Convertisseur SVG en JPG en ligne

Utilisez le SVG to JPG Converter gratuit pour tester la sortie avant d’implémenter le flux en Python.

                
            

Convertisseur SVG en JPG en ligne

FAQ

Comment convertir SVG en JPG en Python ?

Chargez SVG avec SVGDocument, définissez ImageSaveOptions.format sur ImageFormat.JPEG et appelez Converter.convert_svg(document, options, output_path).

Faut-il choisir JPG ou PNG pour convertir SVG ?

Utilisez JPG pour les aperçus compacts, miniatures et images web sans transparence. Utilisez PNG si vous avez besoin d’une sortie sans perte ou transparente.

Le JPG converti reste-t-il un vecteur modifiable ?

Non. JPG est un format raster. Après conversion, la sortie contient des pixels, pas des éléments SVG, chemins ou nœuds texte modifiables.

Puis-je enregistrer en .jpeg plutôt qu’en .jpg ?

Oui. Utilisez ImageFormat.JPEG et choisissez .jpg ou .jpeg selon votre convention.

Puis-je convertir SVG depuis une URL ou une chaîne mémoire en JPG ?

Oui. Créez un SVGDocument depuis une URL, un flux ou un markup SVG avec une base URI valide, puis passez-le à Converter.convert_svg() avec des options JPEG.

Puis-je convertir plusieurs SVG en JPG ?

Oui. Parcourez le dossier d’entrée, réutilisez les mêmes ImageSaveOptions et appelez Converter.convert_svg() pour chaque SVG. Voir Convertir des fichiers SVG par lots.

Articles associés