Se lavori con grafica web, dashboard o report di dati, probabilmente ti sei imbattuto nella necessità di convertire immagini SVG in file PNG standard. Forse stai costruendo un’app Python che crea grafici, icone o report visivi. Qualunque sia il caso d’uso, convertire il codice SVG in PNG è un compito che dovrai spesso gestire.
In this guide, we will walk through how to easily convert SVG code and files into PNG format in Python using a reliable Python library built to render and process SVG files with exceptional accuracy.
What Is SVG Code, and Why Convert It to PNG?
SVG (Scalable Vector Graphics) è un formato basato su XML ottimo per creare immagini nitide e bidimensionali. Poiché è basato su vettori, un’immagine SVG può essere scalata a qualsiasi dimensione senza perdere qualità, il che la rende ideale per interfacce moderne, grafici di dati e grafiche web interattive.
Ma ecco il punto: mentre gli SVG sono flessibili, i PNG sono spesso più pratici. Perché?
- I PNG funzionano ovunque in tutti i browser, editor e visualizzatori.
- Sono facili da condividere e incorporare in documenti, presentazioni o email.
- Le immagini raster come PNG di solito si caricano più velocemente in molte app e ambienti.
In parole povere, convertire il codice SVG in PNG aiuta a garantire che i tuoi visual siano nitidi e coerenti su tutti i dispositivi e piattaforme — anche quando il supporto per i vettori non è garantito.
Libreria Python per convertire codice SVG in PNG
Aspose.SVG for Python via .NET è un’API dedicata per l’analisi, la modifica e il rendering di documenti SVG nelle applicazioni Python. Ti consente di:
- Converti SVG in più formati, inclusi PNG, JPEG, BMP, PDF e XPS.
- Carica SVG da stringhe, file o URL.
- Controlla la dimensione dell’immagine di output, DPI e colore di sfondo.
- Lavorare completamente offline, senza bisogno di browser o renderer di terze parti.
Prima di entrare nel codice, assicurati di avere la libreria installata. Puoi scaricare Aspose.SVG for Python direttamente dalla pagina ufficiale delle relazioni, oppure puoi aggiungerla facilmente utilizzando pip:
pip install aspose-svg-net
Convertire il codice SVG in PNG in Python
Iniziamo convertendo il codice SVG memorizzato come stringa in un’immagine PNG. Questo approccio è ideale per SVG generati dinamicamente, come grafici o diagrammi ricevuti da un’API.
Segui i passaggi qui sotto per convertire il codice SVG da una stringa a un’immagine PNG:
- Carica il codice SVG come una stringa utilizzando l’oggetto della classe
SVGDocument. - Crea un’istanza della classe
ImageRenderingOptionse specifica PNG come formato di output. - Crea il
ImageDeviceper scrivere l’output renderizzato in un file. - Render SVG to PNG using the
document.renderto(device)method.
Il seguente esempio di codice mostra come convertire il codice SVG da una stringa a un’immagine PNG utilizzando Python.
import aspose.svg as svg
from aspose.svg.rendering.image import ImageDevice, ImageFormat, ImageRenderingOptions
# SVG code as a string
svg_code = """
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<rect width="200" height="200" fill="lightblue"/>
<circle cx="100" cy="100" r="80" fill="orange" stroke="black" stroke-width="2"/>
<text x="100" y="110" text-anchor="middle" font-size="24" fill="white">SVG</text>
</svg>
"""
# 1. Carica da stringa + URI base (usa "." se non ti basi su risorse esterne)
document = svg.SVGDocument(svg_code, ".")
# 2. Scegli PNG come output
options = ImageRenderingOptions()
options.format = ImageFormat.PNG
# 3. Crea un dispositivo che scrive l'output reso in un file
device = ImageDevice(options, r"source_out.png")
# 4. Convertire SVG in PNG
document.render_to(device)

Convertire il codice SVG in PNG utilizzando Python.
Convertire il codice SVG da file a PNG in Python
Se hai già un file SVG salvato su disco, puoi convertirlo direttamente in PNG. Questo è utile per convertire modelli, icone o grafica vettoriale esportata.
Segui i passaggi qui sotto per convertire il codice SVG da un file in un PNG:
- Carica un file SVG esistente utilizzando l’oggetto della classe
SVGDocument. - Crea un dispositivo di rendering delle immagini con formato PNG.
- Render and save the image.
Il seguente esempio di codice mostra come convertire il codice SVG da un file a un’immagine PNG utilizzando Python.
import aspose.svg as svg
from aspose.svg.rendering.image import ImageDevice, ImageFormat, ImageRenderingOptions
# Carica file SVG
document = svg.SVGDocument("aspose-svg-logo.svg")
# Pick PNG as output
options = ImageRenderingOptions()
options.format = ImageFormat.PNG
# Inizializza dispositivo di rendering PNG
device = ImageDevice(options, "aspose-svg-logo.png")
# Render and save the output
document.render_to(device)

Converti il codice SVG da un file in PNG in Python.
Regola la dimensione e la qualità dell’output
A volte è necessario controllare le dimensioni di output, DPI o scalatura del PNG. Aspose.SVG offre opzioni flessibili per questo.
Segui i passaggi seguenti per regolare la dimensione e la qualità dell’immagine di output:
- Definire le opzioni di rendering con larghezza, altezza o DPI personalizzati.
- Passa le opzioni durante la creazione del dispositivo di rendering.
- Render and save.
Il seguente esempio di codice mostra come regolare la dimensione e la qualità dell’immagine di output durante la conversione del codice SVG in PNG:
import aspose.svg as svg
from aspose.svg.drawing import Resolution
from aspose.svg.rendering.image import ImageDevice, ImageFormat, ImageRenderingOptions
# Load SVG file
document = svg.SVGDocument("aspose-svg-logo.svg")
# Pick PNG as output
options = ImageRenderingOptions()
options.format = ImageFormat.PNG
# Impostare le opzioni di rendering
options.page_setup.sizing.width = 600
options.page_setup.sizing.height = 400
options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
# Inizializza il dispositivo di rendering PNG
device = ImageDevice(options, "aspose-svg-logo-resized.png")
# Render and save the output
document.render_to(device)
Convertire SVG in PNG in memoria utilizzando Python
È possibile elaborare SVG interamente in memoria, il che è perfetto per le applicazioni web o i servizi cloud. Questo approccio evita di creare file temporanei ed è ideale per le risposte API.
Segui i passaggi qui sotto per convertire SVG in PNG in memoria utilizzando Python:
- Crea un documento SVG da una stringa.
- Render to an in-memory stream.
- Use the PNG bytes directly (e.g., return via API).
Il seguente esempio di codice mostra come convertire SVG in PNG in memoria utilizzando Python:
import aspose.svg as svg
from aspose.svg.rendering.image import ImageDevice, ImageFormat
import io
svg_code = """
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<rect width="100" height="100" fill="green"/>
</svg>
"""
# Crea documento SVG da stringa
document = svg.SVGDocument(svg_code, ".")
# Scegli il formato PNG
opts = ImageRenderingOptions()
opts.format = ImageFormat.PNG
# Render to in-memory stream
memory_stream = io.BytesIO()
device = ImageDevice(opts, memory_stream)
document.render_to(device)
# Access PNG bytes
png_data = memory_stream.getvalue()
print(f"Generated PNG size: {len(png_data)} bytes")
Output:
Generated PNG size: 34732 bytes
Ottieni una Licenza Gratuita
I prodotti Aspose funzionano in modalità di valutazione per impostazione predefinita, il che può aggiungere filigrane o limitazioni. Puoi richiedere una licenza temporanea gratuita dalla Aspose Temporary License page.Una volta applicata, tutte le conversioni verranno eseguite senza restrizioni.
Convertire SVG in PNG Online gratuitamente
Se hai bisogno di una conversione veloce senza codice, prova il Free Online SVG to PNG Converter offerto da Aspose. Funziona direttamente nel tuo browser e utilizza lo stesso motore di rendering di alta qualità dell’API Python.

SVG to PNG: Risorse gratuite
Oltre a convertire il codice SVG in PNG, segui le risorse qui sotto per migliorare le tue abilità. Troverai tutto, dalla documentazione chiara e guide pratiche per sviluppatori a strumenti online che puoi provare subito. Prenditi il tuo tempo, esplora e padroneggia Aspose.SVG al tuo ritmo e senza alcun costo.
- Aspose.SVG for Python Documentazione
- Aspose.SVG Riferimento API
- Free Online SVG to PNG Converter
- Guide e articoli How-to
Traduzione del codice SVG in PNG: FAQ
Q1: Posso mantenere la trasparenza nell’output PNG?
Sì, Aspose.SVG preserva la trasparenza per impostazione predefinita durante la conversione.
Q2: Funziona senza strumenti esterni?
Sì. Aspose.SVG rende i SVG internamente senza fare affidamento su browser o Inkscape.
Q3: Posso caricare SVG direttamente dalla memoria o da un URL?
Sì, puoi inizializzare SVGDocument da una stringa, un percorso di file o un URL web.
Concludendo
In this article, you have just seen how to convert SVG code and files to PNG in Python. We used Aspose.SVG for Python via .NET to handle the conversion from SVG to PNG. It deals nicely with strings, files, and fonts, pretty much everything you would need. If you are making thumbnails, exporting charts, or generating visuals for reports, this library gives you complete flexibility when it comes to SVG rendering. It is a dependable choice for anyone who regularly needs to turn SVG code into high-quality PNG images, all within Python.
Hai una domanda o hai incontrato qualcosa di complicato? Non preoccuparti! Il nostro team è felice di aiutarti! Puoi sempre contattare qualsiasi momento sul forum di supporto gratuito di Aspose.SVG free support forum e ricevere indicazioni direttamente dagli esperti.
