Welche Möglichkeiten gibt es in mehr als 600 Anschlussgrafiken im Mittel je 4 Farbbezeichnungen zu ändern.
Aufgabe
In über 600 existierenden Anschlussgrafiken sollen die Farbbezeichnungen der Anschlüsse so geändert werden, dass sie der Norm DIN IEC 60757 entsprechen (gelbe Markierung im Beispiel).
Beispiel vorher:
Die Grafiken liegen im Format *.eps vor, die in Adobe Illustrator erstellt worden waren.
Wie ändert man mit möglichst wenig Aufwand über 600 Grafikdateien?
Dazu möchte ich drei mögliche Wege vorstellen.
Möglichkeit 1
- Jede Grafik im Adobe Illustrator öffnen und die Farbbezeichnungen ändern.
Aufwand: geschätzt einige Minuten pro Grafik x 600 Grafiken.
Möglichkeit 2
Voraussetzung: Alle auftretenden Änderungen sammeln und eine Ersetzungsliste erstellen: Farbbezeichnung vorher/Farbbezeichnung nachher.
- Mit einer Adobe Illustrator Aktion alle eps-Dateien öffnen als svg-Dateien exportieren.
- Mehrere/alle svg-Dateien mit Notepad++ öffnen und mit Suchen/Ersetzen (STRG+H) die gesammelten Ersetzungen durchführen.
- Änderungen in den svg-Dateien prüfen.
- Mit einer Adobe Illustrator Aktion alle geänderten svg-Dateien öffnen und wieder als eps-Datei abspeichern.
Aufwand: ca. die Hälfte des Aufwandes von Möglichkeit 1.
Möglichkeit 3
xsl-Stylesheet auf die Dateien anwenden (für xml-Spezialisten)
Voraussetzung: Alle auftretenden Änderungen sammeln und eine Ersetzungsliste erstellen: Farbbezeichnung vorher/Farbbezeichnung nachher.
- Mit einer Adobe Illustrator Aktion alle eps-Dateien öffnen als svg-Dateien exportieren.
- xslt-Script (s. Code) erstellen, das die Inhalte der svg-Dateien kopiert, dabei nach den zu ersetzenden Farbbeichnungen sucht und diese ersetzt.
- Dieses xslt-Script über Batch-Aufruf auf alle svg-Dateien anwenden. Eine Liste der umzuwandelnden Dateien, die sich in einem Dateiverzeichnis befinden, erhält man hiermit.
- Mit einer Adobe Illustrator Aktion alle geänderten svg-Dateien öffnen und wieder als eps-Datei abspeichern.
- Änderungen in den umgewandelten svg-Dateien prüfen.
Aufwand: ca. ein Drittel des Aufwandes von Möglichkeit 1.
svg-Code der Farbangaben
<g> <text transform="matrix(1 0 0 1 307.834 421.7191)">brn</text> </g> <g> <text transform="matrix(1 0 0 1 308.8149 436.4482)">wht</text> </g> <g> <text transform="matrix(1 0 0 1 308.5313 451.1767)">blu</text> </g>xslt-Code
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="2.0"> <!-- erst mal alles kopieren: Knoten und Attribute --> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <!-- die Farbbezeichnung brn gegen BN austauschen --> <xsl:template match="text()"> <xsl:choose> <xsl:when test="contains(current(),'brn')"> <xsl:value-of select="translate(current(),'brn','BN')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>Fazit zu den Eigenschaften des svg-Formats
Das svg-Format ist als xml-basierte Vektorgrafik mit den existierenden xml-Werkzeugen automatisiert bearbeitbar.
Für technische Grafiken, wie die im Beitrag vorgestellten Anschlussgrafiken, ist das Format ideal, zumal CAD-Programme den Export erstellter Zeichnungen im svg-Format ermöglichen, was eine direkte (eventuell bearbeitete) Weiterverwendung ermöglicht.
Inhalte in svg-Dateien können durch separate Prozesse geändert oder hinzugefügt werden. Dadurch können Informationen aus unterschiedlichen Quellen in svg-Grafiken integriert werden.
In SVG enthaltene Metainformationen können von Suchmaschinen ausgewertet werden.