Come convertire immagini SVG per l'uso con Pisa / XHTML2PDF?
-
16-09-2019 - |
Domanda
Pisa / XHTML2PDF per generare file PDF al volo in Django. Purtroppo, ho bisogno di includere immagini SVG pure, che non credo è un compito facile.
Qual è il modo migliore per andare a sia a) la conversione dei SVG in PNG / JPG (in Python) o b) tra cui SVG nella esportazione in formato PDF da Pisa?
Soluzione
C'è la base Java Apache Batik SVG toolkit .
In un domanda simile per quanto riguarda C # è stato proposto con il la versione da riga di comando di Inkscape per questo.
Per Python, ecco un suggerimento utile da questo thread di discussione :
import rsvg
from gtk import gdk
h = rsvg.Handle('svg-file.svg')
pixbuf = h.get_pixbuf()
pixbuf.save('foobar.png', 'png')
il passo from gtk import gdk
, suggerito da Lukasz , è necessaria e deve precedere la creazione del pixbuf, altrimenti non si ottenere il metodo save
, come osservato da il manifesto originale .
Altri suggerimenti
"Ho ottenuto di lavoro rsvg, ma ecco cosa ottengo quando provo a conservare: AttributeError: oggetto 'gtk.gdk.Pixbuf' non ha alcun attributo 'Salva' - Nick sergente 25 aprile '09 a 0:10"
È necessario importare gdk di avere accesso ai metodi pixbuf:
import rsvg
from gtk import gdk
h = rsvg.Handle('svg-file.svg')
pixbuf = h.get_pixbuf()
pixbuf.save('foobar.png', 'png')
E convertire da stringa che contiene i dati in formato SVG:
import rsvg
from gtk import gdk
h = rsvg.Handle()
h.write(svg_string)
h.close()
pixbuf = h.get_pixbuf()
pixbuf.save('foobar.png', 'png')