Esiste uno strumento da riga di comando linux gratuito per convertire SVG in PDF e / o un formato bitmap comunemente usato (ad esempio PNG)?
Esiste uno strumento da riga di comando linux gratuito per convertire SVG in PDF e / o un formato bitmap comunemente usato (ad esempio PNG)?
Risposte:
Imagemagick è fantastico quando l'output rasterizzato (pixelato) è quello che vuoi (o almeno è accettabile), ma è una scelta sbagliata altrimenti, poiché incorpora efficacemente nel pdf una versione rasterizzata di tutto ciò che stai cercando di convertire. L'intero punto di svg / pdf è che può essere vettorializzato, quindi di dimensioni più ridotte, rimanendo liscio a qualsiasi risoluzione.
Quindi, consiglierei sicuramente di usare Inkscape o CarioSVG . Quest'ultimo ha diverse utilità da riga di comando proprio per questo scopo ( svg2pdf
, svg2ps
e svg2png
). L'unico inconveniente è che è fondamentalmente solo un uovo di pitone, quindi se non hai un ambiente di pitone impostato e non sei abbastanza esperto (o non ti interessa abbastanza) da crearne uno, allora quell'opzione è un no partire. Ho provato me stesso, ma ho avuto problemi con l'impostazione del necessario libcairo
(non che ho provato troppo ).
Inkscape è fantastico, ma il cli è un po 'goffo se vuoi solo un piccolo comando rapido per fare tutto il lavoro per te. Ho messo insieme un paio di piccoli script per occuparmi di tutto questo per me:
svg2pdf
#!/bin/bash
for i in $@; do
inkscape --without-gui --export-pdf="$(basename $i .svg).pdf" $i
done
svg2png
#!/bin/bash
for i in $@; do
inkscape --without-gui --export-png="$(basename $i .svg).png" $i
done
Inserisci il primo ~/bin/svg2pdf
e il secondo ~/bin/svg2png
, corri chmod +x
su entrambi per renderli eseguibili e boom! Hai un collegamento rapido e semplice per queste operazioni spesso richieste che non richiedono di pensare o ricordare come funziona la CLI di Inkscape. (Ovviamente devi installare Inkscape prima che funzioni)
time for i in {1..10}; do time inkscape --without-gui -f "drawing.svg" --export-pdf="drawing$i.pdf"; done;
real 0m2.192s time for i in {1..10}; do convert drawing.svg drawing$i$i$i.pdf; done;
real 0m0.381s
C'è Image Magick e Inkscape ha anche strumenti da riga di comando.
convert
vince di gran lunga. È anche in grado di convertire da e verso formati esoterici che non sapevi nemmeno esistessero, e applicare più effetti a loro di cui avrai mai bisogno.
convert
è uno strumento da riga di comando per ImageMagick.
Inkscape
In PDF:
inkscape -A a.pdf a.svg
in PNG:
inkscape -e a.png a.svg
Trovati su man inkscape
e come utilizzare Inkscape in modalità riga di comando
come so, esiste un modo per far funzionare Inkscape tramite cmd: ho già usato qualcosa di simile per esportare in batch le anteprime PNG dalla mia vasta collezione di SVG. Poiché Inkscape supporta anche l'esportazione di PDF tramite Cairo, dovrebbe essere possibile esportare anche PDF. Vorrei chiedere su alcuni forum Inkscape. :-)
mogrify -format pdf -- *.svg