svg2png mit gimp auf der Konsole

Nachdem ich festgestellt habe, dass sich ImageMagick nicht immer optimal dazu eignet, svg Dateien in jpg oder png Dateien umzuwandeln, war ich auf der Suche nach einer Möglichkeit, die eine bessere (vollständige) svg Unterstützung besitzt. Klar ist das Umwandeln von svg2png in Gimp kein Problem, aber jedes Bild öffnen, umwandeln, speichern etc. ist doch eher lästig, wenn man mehr als 10 SVG Dateien umwandeln möchte. Dabei bin ich auf eine sehr elegante Lösung gestoßen, die es möglich macht, die Vorteile von gimp bei der Umwandlung von svg Dateien in JPG oder PNG Bilder zu nutzen ohne die Vorteile von ImageMagick zu verlieren, denn gimp hat auch eine Batch Verarbeitungsfunktion, mit der man unterschiedlichste Funktionen von gimp direkt auf der Konsole ausführen kann, ohne die GUI laden zu müssen.

Um also eine SVG Datei in eine PNG Datei umzuwandeln muss man erst mal ein gimp Script installieren, dass unter svg-to-raster.scm heruntergeladen werden kann. Diese Datei muss dann unter ~/.gimp-VERSION/scripts abgespeichert werden, damit man die Funktion svg2png von der Konsole aus nutzen kann.

Jetzt kann man mit dem gimp SVG to Raster Script in der BASH mit dem folgenden Befehl eine SVG Datei in ein PNG Bild umwandeln.

$ gimp -i -b ‘( svg-to-raster “datei.svg” “datei.png” 72 0 0)’ ‘(gimp-quit 0)’

Leider bekomme ich hier immer einen Fehler, den ich nicht so richtig verstehe:

# gimp -i -b ‘( svg-to-raster “datei.svg” “datei.png” 72 0 0)’ ‘(gimp-quit)’
GIMP-Error: Opening ‘/Absoluter-Pfad/(gimp-quit)’ failed: No such file or directory

Habe das Problem nicht wirklich verstanden. Eigentlich sollte es klappen, aber mit gimp 2.6 bekomme ich immer den Fehler. Gelöst habe ich das Problem, indem ich die Befehle für gimp eine Textdatei geschrieben habe und dann den folgenden Befehl aufrufe.

# cat gimp.txt | gimp -i -b -

Die Datei gimp.txt hat folgenden Inhalt
(svg-to-raster “datei.svg” “datei.png” 72 0 0)
(gimp-quit 0)

Das gimp script wird dann nach der erfolgreichen Umwandlung korrekt beendet und die svg Datei ist in eine png Datei umgewandelt worden. Das Skript kann man nun in einem svg2png.sh Skript verpacken und schon hat meine schnelle und komfortable Lösung zur Umwandlung von SVG Dateien in PNG Bilder geschaffen.

Michael Jentsch

Michael Jentsch arbeitet seit 2006 bei der Itellium Services GmbH als Entwickler und Software Architekt. Er ist spezialisiert auf Java basierte Web-Applikationen und E-Commerce. Neben dem Beruf interessiert er sich auch für Suchmaschinenoptimierung und ist engagiert in vielen Open Source Projekten im Web Umfeld. Sie erreichen ihn per E-Mail unter [email protected].

More Posts

"));