TagCloud

SVG platzsparend – SVG Cleaner

Juli 1st, 2013 von buergermeister

Erstellt man mit Inkscape eine Grafik und verwendet darin Farbverläufe, so ist dem ein oder anderem vielleicht bereits aufgefallen, dass der Farbverlauf im Dokument extra gespeichert wird und zwar in den Definitions. Damit steht der Farbverlauf auch für andere Objekte zur Verfügung. Legt man allerdings einen neuen Farbverlauf an, bleibt der alte in den Definitions erhalten. Das Gleiche gilt auch für Musterfüllungen oder Filter.
Mit der Zeit bläht das, dass SVG-Dokument allerdings unnötig auf. Um dem zu entgegnen gibt es in Inkscape die Funktion “Leere Defs aufräumen”, die mit der nächsten Version in “Dokument säubern” umbenannt wird. Da sich Inkscape auf der Kommandozeile bedienen läßt kann man das Ganze auch in Scripts verwenden. Damit werden aber nur unbenutzte Elemente in den Definitionen entfernt. Wem das nicht genügt und wer noch mehr unbenutzte/nicht nötige Elemente entfernen möchte, der muss zu einem anderem Werkzeug greifen.

Seit der Version 0.47 von Inkscape ist Scour als Erweiterung enthalten, damit ist es möglich, dass Dokument als sogenanntes “Optimized SVG/Optimiertes Inkscape SVG” speichern. Das bewirkt schon einiges an Ersparnis.
Da Scour eine Standarderweiterung ist, kann man es unter /usr/share/inkscape/extensions finden und auch einzeln aufrufen. Mit $ python scour.py -i input.svg -o output.svg, werden die Standardeinstellungen von Scour auf das Dokument angewendet, was die folgenden Operationen beinhaltet.

Wem das nicht genug ist und wer das gerne grafisch erledigen möchte, der kann zu SVG Cleaner greifen. Nutzer von Ubuntu finden in Launchpad eine entsprechende PPA, Windowsnutzer finden bei Sourceforge einen Installer dafür, der Rest muss leider zur Zeit den Quellcode aus Github auschecken und selbst kompilieren. SVG Cleaner kann mit svgcleaner-cli auf der Kommandozeile benutzt werden aber auch mit einer grafischen Oberfläche gestartet werden. Nach dem Start muss man nur das Verzeichnis, welches die zu bereinigenden SVG enthält angeben und evtl. ein Zeilverzeichnis, wenn man nicht das gleiche Verzeichnis nutzen will oder gar die SVG-Dateien überschreiben. Danach braucht man sich nur für einen der mitgelieferten Presets entscheiden und kann dann schon auf ausführen gehen. Man kann aber auch eigene Presets anlegen und die Operationen auf die entsprechenden Dateien angewendet werden sollen selbst entscheiden. Allerdings sollte man ein wenig daran denken, das egal ob Scour oder SVG Cleaner das Entfernen bestimmter Attribute hat Auswirkungen auf die Bearbeitungsmöglichkeiten in Inkscape!


Einen weiteren Vorteil hat SVG Cleaner, da es die entsprechenden Dateien auch automatisch komprimieren kann. Etwas was zusätzliche Ersparnis in der Dateigröße erbringen kann. Dafür muss allerdings auch p7zip installiert sein. Nach der Ausführung erhält man eine grafische Zusammenfassung, mit Voransicht der Grafik und den Einsparungen. Mit einen Klick auf die Voransichten öffnet man die Datei in Inkscape und kann damit die Funktion überprüfen.

Das Einzige was mich verwundert ist, dass im Quellcode zwar eine deutsche Übersetzung vorhanden ist aber weder bei meiner selbstübersetzten Version noch mit der von Launchpad die Übersetzung funktioniert. In meinem Fall tut das der Sache keinen Abbruch. SVG Cleaner landet jedenfalls in meiner Werkzeugkiste.

Geschrieben in fedora-design, fedorapeople, Killer Application, ubuntuusers | Keine Kommentare »

ähnliche Artikel: Linuxwochen Vienna day 3 | Linuxwochen Vienna | Last day in Cambodia | FOSSASIA - day 2 | LibreGraphicsMeeting 2014 |

Einen Kommentar abgeben

Bitte beachte: Die Kommentare werden moderiert. Dies kann zu Verzögerungen bei Deinem Kommentar führen. Es besteht kein Grund den Kommentar erneut abzuschicken.