Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Quick Answer: Pour convertir SVG en PNG en Python, chargez la source avec
SVGDocument, créez
ImageSaveOptions et passez les deux objets à
Converter.convert_svg(). PNG est le format image par défaut, et ImageSaveOptions contrôle fond, taille, marges et résolution.
PNG est un format raster sans perte qui prend en charge la transparence. Il convient aux graphiques web, aperçus, miniatures et applications qui ne rendent pas SVG directement.
L’exemple suivant convertit document.svg en result.png avec les paramètres PNG par défaut :
1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import ImageSaveOptions
4
5# Convert an SVG file to PNG using the default save options
6options = ImageSaveOptions()
7
8with SVGDocument("document.svg") as document:
9 Converter.convert_svg(document, options, "result.png")Le code effectue trois opérations :
result.png.Utilisez ImageSaveOptions lorsque le PNG nécessite un canevas, un fond ou une résolution précise. L’exemple convertit winter.svg, ajoute un fond uni, crée une page 600 × 550 avec des marges de 10 pixels et rend à 96 dpi.
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.saving import ImageSaveOptions
5from aspose.svg.drawing import Resolution, Page, Size, Margin
6from aspose.pydrawing import Color
7
8# Convert SVG to PNG with a custom background, page, and resolution
9input_folder = "data/"
10output_folder = "output/"
11input_path = os.path.join(input_folder, "winter.svg")
12output_path = os.path.join(output_folder, "winter.png")
13os.makedirs(output_folder, exist_ok=True)
14
15options = ImageSaveOptions()
16options.background_color = Color.from_argb(231, 217, 230)
17options.page_setup.any_page = Page(Size(600, 550), Margin(10, 10, 10, 10))
18options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
19options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
20
21with SVGDocument(input_path) as document:
22 Converter.convert_svg(document, options, output_path)Le PNG obtenu utilise les paramètres de page demandés au lieu de dépendre uniquement du viewport SVG.

| Propriété | Quand l’utiliser |
|---|---|
| background_color | Remplir les zones transparentes avec une couleur choisie |
| page_setup | Définir dimensions de page et marges |
| horizontal_resolution | Définir la résolution horizontale en dpi |
| vertical_resolution | Définir la résolution verticale en dpi |
| smoothing_mode | Contrôler la qualité de rasterisation |
| text | Configurer le rendu du texte via TextOptions |
Si background_color n’est pas défini, les zones transparentes restent transparentes en PNG. La résolution agit sur la densité raster, tandis que page_setup contrôle le canevas de sortie.
| Problème | Cause probable | Solution |
|---|---|---|
| Le PNG est vide ou rogné | Le SVG n’a pas de viewport utile ou la page de sortie est trop petite | Définissez width, height ou viewBox, ou options.page_setup.any_page |
| Les zones transparentes sont inattendues | Aucun fond de sortie n’a été défini | Définissez options.background_color si un canevas uni est nécessaire |
| Le texte semble différent | Une police référencée est absente | Installez la police ou vectorisez le texte si la forme exacte est requise |
| Images ou CSS liés manquent | Les ressources relatives ne sont pas résolues | Chargez SVG depuis son chemin ou fournissez une base URI correcte |
| Les dimensions de sortie sont inattendues | Taille de page et résolution sont confondues | Utilisez page_setup pour les dimensions et la résolution pour les dpi |
Vous pouvez aussi tester SVG vers PNG dans le navigateur. Téléversez un SVG, sélectionnez PNG et comparez le résultat avec votre sortie programmatique.
Créez ImageSaveOptions, ouvrez la source avec SVGDocument et appelez Converter.convert_svg(document, options, output_path).
Oui. PNG prend en charge la transparence, et les zones SVG transparentes restent transparentes sauf si vous définissez ImageSaveOptions.background_color.
Configurez ImageSaveOptions.page_setup avec Page, Size et Margin. Utilisez les propriétés de résolution séparément si vous avez besoin d’un dpi précis.
Oui. Créez un SVGDocument depuis la chaîne SVG et une base URI, puis passez ce document à Converter.convert_svg().
PdfDevice.Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.