Gibt es ein kostenloses Linux-Kommandozeilen-Tool zum Konvertieren von SVG in PDF und / oder ein allgemein verwendetes Bitmap-Format (zum Beispiel PNG)?
Gibt es ein kostenloses Linux-Kommandozeilen-Tool zum Konvertieren von SVG in PDF und / oder ein allgemein verwendetes Bitmap-Format (zum Beispiel PNG)?
Antworten:
Imagemagick ist großartig, wenn eine gerasterte (pixelige) Ausgabe das ist, was Sie wollen (oder zumindest akzeptabel ist), aber es ist eine schlechte Wahl, da es effektiv eine gerasterte Version von allem, was Sie konvertieren möchten, in das PDF einbettet. Der springende Punkt von svg / pdf ist, dass es vektorisiert werden kann, wodurch es kleiner wird und bei jeder Auflösung flüssig bleibt.
Daher würde ich auf jeden Fall empfehlen, entweder Inkscape oder CarioSVG zu verwenden . Letzteres verfügt genau zu diesem Zweck über mehrere Befehlszeilendienstprogramme ( svg2pdf
, svg2ps
und svg2png
). Das einzige Problem ist, dass es sich im Grunde genommen nur um ein Python-Ei handelt. Wenn Sie also keine Python-Umgebung eingerichtet haben und nicht über ausreichende Kenntnisse verfügen (oder sich nicht darum kümmern), eine einzurichten, ist diese Option ein Nein gehen. Ich habe es selbst versucht, hatte aber Probleme beim Einrichten der erforderlichen libcairo
(nicht dass ich mich zu sehr bemüht hätte).
Inkscape ist fantastisch, aber das CLI ist etwas klobig, wenn Sie nur einen kurzen Befehl benötigen, um die ganze Arbeit für Sie zu erledigen. Ich habe ein paar kleine Skripte zusammengestellt, um das alles für mich zu erledigen:
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
Setzen Sie den ersten ~/bin/svg2pdf
und den letzteren ein ~/bin/svg2png
, führen Sie chmod +x
beide aus, um sie ausführbar zu machen, und boomen Sie! Sie haben eine schnelle und einfache Verknüpfung für diese häufig gewünschten Vorgänge, bei denen Sie sich weder Gedanken machen noch merken müssen, wie die CLI von Inkscape funktioniert. (Natürlich muss Inkscape installiert sein, bevor dies funktioniert.)
time for i in {1..10}; do time inkscape --without-gui -f "drawing.svg" --export-pdf="drawing$i.pdf"; done;
echte 0m2.192s time for i in {1..10}; do convert drawing.svg drawing$i$i$i.pdf; done;
echte 0m0.381s
Es gibt Image Magick und Inkscape verfügt auch über Befehlszeilen-Tools.
convert
gewinnt bei weitem. Es ist sogar in der Lage, in und aus esoterischen Formaten zu konvertieren, von denen Sie nicht einmal wussten, dass es sie gibt, und mehr Effekte auf sie anzuwenden, als Sie jemals brauchen werden.
convert
ist ein Befehlszeilen-Tool für ImageMagick.
Inkscape
In PDF:
inkscape -A a.pdf a.svg
zu PNG:
inkscape -e a.png a.svg
Gefunden unter man inkscape
und Verwendung von Inkscape im Befehlszeilenmodus
Wie ich weiß, gibt es eine Möglichkeit, Inkscape über cmd zu bedienen. Ich habe bereits etwas Ähnliches für den Batch-Export von PNG-Thumbnails aus meiner riesigen SVG-Sammlung verwendet. Da Inkscape auch den PDF-Export über Kairo unterstützt, sollte auch der PDF-Export möglich sein. Ich würde auf einigen Inkscape-Forum fragen. :-)
mogrify -format pdf -- *.svg