Bilder publizieren ist schön, sie machen einen Text lebendig, aber sie machen auch viel Arbeit. Ein ungeliebter, aber notwendiger Aspekt dabei sind die Metadaten. Besonders wenn die Bilder im Web veröffentlicht werden, sollte man die wichtigsten Kennzeichen wie Autor, Beschreibung und Copyright direkt ins Bild einfügen, damit sie nicht verloren gehen, wenn das Bild aus dem Kontext der jeweiligen Webseite gerissen wird.

Metadaten-Anzeige in Jeffrey's Exif Viewer, http://regex.info/

Metadaten-Anzeige in Jeffrey's Exif Viewer, http://regex.info/

Arbeitet man mit Fotos, Schnappschüssen sind die Metadaten nicht so schlimm. Einmal eingefügt, verbleiben sie dort, weil man die Aufnahme normalerweise nicht mehr verändert. Anders ist das bei generierten oder exportierten Bildern, wie Diagrammen oder Illustrationen. Die können sich im Laufe des Herstellungsprozesses eines Dokuments oft ändern. Und jedes Mal muss man die Metadaten wieder einfügen! Oder man wartet bis zum Schluss, und vergisst es dann in der Aufregung des Endspurts.

Das Image Metadata Plugin soll dieses Problem beheben, und die Metadaten von Bilddateien im Produktionsprozess von Dokumenten und Büchern verfügbar machen. In seiner augenblicklichen Fassung (Version 1.0.0) implementiert das Plugin eine Funktion, die innerhalb eines Maven-Prozesses ein Minimum an Metadaten in Bild-Dateien schreibt, und die Bilder so für die Veröffentlichung bereit macht.

Das Plugin einbinden

Das Image Metdata Plugin ist ein Maven-Plugin, und ist im Textmulch-Repositorium erhältlich.  Die Dokumentation ist auf den Projektseiten, http://projekte.textmulch.de/image-metadata-plugin/ zu finden.

Die Einbindung des Plugins in einen Arbeitsablauf  sieht so aus:

<plugin>
   <groupId>de.textmulch</groupId>
   <artifactId>image-metadata-plugin</artifactId>
   <executions>
        <execution>
            <id>metadata simple</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>set-metadata-simple</goal>
            </goals>

Wie schon angemerkt, unterstützt das Plugin im Augenblick nur eine Funktion, set-metadata-simple. Diese Funktion schreibt eine definierte Menge von Metadaten in eine Liste von Bilddateien. Die Originale werden dabei nicht verändert.

Ist keine Phase angegeben, nimmt das Plugin die Phase process-resources als Standrad an.

Das Plugin konfigurieren

Um das Plugin zu konfigurieren, muss man sich nur über zwei Dingen Gedanken machen:

  1. Was sind Standardeinstellungen, die für alle Bild-Dateien gelten sollen?
  2. Was sind die Bild-spezifischen Werte?

Die Funktion set-metdata-simple unterstützt nur eine bestimmte Menge von Metadaten, solche die gemeinhin als Minimum für die Veröffentlichung im Web angesehen werden. Dies sind:

  • Name des Autors
  • Beschreibung
  • beschreibende Schlagworte
  • Copyright Text
  • URL der Copyright-Lizenz

Diese können sowohl als Standard-, als auch als spezifische Werte eingestellt werden. Bild-spezifische Werte überschreiben dabei natürlich die Standardangaben.

Typische Standardangaben für Metadaten in Bildern wären Autor und Copyright. Das sähe dann so aus:

...
<configuration>
   <defaultCreator>Mr. Example</defaultCreator>
   <defaultCopyrightText>This work is licensed under … </defaultCopyrightText>
   <defaultCopyrightUrl>http://creativecommons.org/licenses/by/3.0/de/</defaultCopyrightUrl>
…

Werte für Autor, Copyright-Text und -URL werden als Standardwerte definiert, die in jedes Bild eingefügt werden, das keine entsprechenden spezifischen Werte definiert.

Beschreibungstexte und Schlagworte machen meist nur pro Bild Sinn, daher werden sie im folgenden Beispiel als Bild-spezifische Werte behandelt:

…
 <images>
     <image>
         <file>media/a1.png</file>
         <description>A test image with two boxes and an arrow.</description>
         <keywords>test, box, arrow</keywords>
      </image>
      <image>
       …
 </images>
</configuration>

Innerhalb der Auszeichnung file werden Pfad und Dateiname der zu bearbeitenden Datei angegeben. Danach folgen etwaige spezifische Einstellungen, hier eben die Beschreibung und die Schlagworte.

Das wäre es schon. Damit ist die Konfiguration des Plugins abgeschlossen, und man kann seine Bilder mit Metadaten anreichern lassen. Die Ergebnisse erscheinen übrigens standardmäßig im Ordner target/generated/resources. Möchte man das ändern, so kann man das mit outputDirectory. Dieses und andere Details finden sich, wie gesagt, in der Dokumentation.