Textänderung in mehr als 600 Grafiken: mit weniger Aufwand im svg-Format

Welche Möglichkeiten gibt es in mehr als 600 Anschlussgrafiken im Mittel je 4 Farbbezeichnungen zu ändern.

Aufgabe

Anschlussgrafik vor der Bearbeitung
Anschlussgrafik vor der Bearbeitung

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:

Anschlussgrafik nach der Bearbeitung
Anschlussgrafik nach der Bearbeitung

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

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.

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*