Links

Bildskalierung und Wasserzeichen rendern

Dieses Step Plugin skaliert Bilder auf konfigurierbare maximale Ausmaße und rendert ein Wasserzeichen in die skalierten Bilder.

Einführung

Dieses Plugin erlaubt es, Bilder auf eine maximale Größe zu skalieren und anschließend Wasserzeichen in die zuvor skalierten Bilder zu rendern. Dabei ist die maximale Größe sowie das zu rendernde Wasserzeichen flexibel konfigurierbar.

Übersicht

Details
Identifier
intranda_step_image_resize_and_watermark
Source code
Lizenz
GPL 2.0 oder neuer
Kompatibilität
Goobi workflow 2020.06
Dokumentationsdatum
31.08.2020

Installation

Zur Installation des Plugins muss folgende Datei installiert werden:
/opt/digiverso/goobi/plugins/step/plugin_intranda_step_image_resize_and_watermark.jar
Für die korrekte Ausführung des Plugins wird außerdem eine Konfigurationsdatei benötigt:
/opt/digiverso/goobi/config/plugin_intranda_step_image_resize_and_watermark.xml
Darüber hinaus wir auf dem System ebenfalls noch eine erfolgreiche Installation der folgenden beiden Pakete vorausgesetzt:
ImageMagick
GraphicsMagick
Beide Pakete sind in gängigen Paketmanagern enthalten und können daraus unkompliziert installiert werden.

Konfiguration des Plugins

Die Konfiguration des Plugins erlaubt es festzulegen, auf welche Maximalgröße die Bilder skaliert werden sollen, sowie welches Wasserzeichen (Bilder und auch Text-Wassserzeichen werden unterstützt) gerendert werden soll. Auch die Positionierung des Wasserzeichens kann individuell festgelegt werden. Dafür sind mehrere Konfigurationen möglich, die anhand des Projektes, des Names für den Arbeitsschritt innerhalb des Workflows, der digitalen Kollektion sowie eines Medientyps (spezielles Metadatum innerhalb der METS-Datei des jeweiligen Vorgangs) unterschieden werden. Bei der Ausführung des Plugins wird die erste Konfiguration verwendet, die zum aktuell bearbeiteten Vorgang passt.
Bitte beachten Sie, dass im oberen Bereich der Konfiguration außerdem die korrekten Pfade für GraphicMagick und ImageMagick angegeben werden müssen.
Eine Beispielkonfiguration für die Datei plugin_intranda_step_image_resize_and_watermark.xml sieht folgendermaßen aus:
<config_plugin>
<!-- path to GraphicsMagick -->
<gmPath>/usr/bin/gm</gmPath>
<!-- path to ImageMagick -->
<convertPath>/usr/bin/convert</convertPath>
<!--
order of configuration is:
1.) project name and step name matches
2.) step name matches and project is *
3.) project name matches and step name is *
4.) project name and step name are *
-->
<config>
<!-- which projects to use for (can be more than one, otherwise use *) -->
<project>*</project>
<step>*</step>
<!-- the source directory from which the images will be taken -->
<sourceDir>cropped</sourceDir>
<!-- the destination directory where the scaled and watermarked images will reside -->
<destDir>media</destDir>
<!-- only use this block with processes in collection "mycollection"
and with mediaType "book" -->
<imageConfig collection="mycollection" mediaType="book">
<!-- The maximum size of the longest side of an image -->
<resizeTo>1500</resizeTo>
<!-- The watermark configuration -->
<watermark>
<!-- the image to use for watermarking -->
<image>/opt/digiverso/goobi/xslt/logo.png</image>
<!-- define the shade size here -->
<shadeSize>240x40</shadeSize>
<!-- the location of the watermark. Possible values: north,
northeast, east, southeast, south, southwest,
west, northwest -->
<location>southeast</location>
<!-- these are the distances to the edges on the x- resp. y-axis -->
<xDistance>100</xDistance>
<yDistance>100</yDistance>
</watermark>
</imageConfig>
<!-- use this block with processes in collection "myothercollection"
and any mediaType -->
<imageConfig collection="myothercollection" mediaType="*">
<resizeTo>1500</resizeTo>
<watermark>
<!-- you can also use a text-only watermark. -->
<text>My watermark text</text>
<!-- define the shade size here -->
<shadeSize>240x40</shadeSize>
<!-- define the size of the box for the text -->
<boxSize>450x200</boxSize>
<!-- font to use for the text rendering -->
<font>Open-Sans</font>
<location>southeast</location>
<xDistance>600</xDistance>
<yDistance>100</yDistance>
</watermark>
</imageConfig>
</config>
</config_plugin>
Der Block <config> kann für verschiedene Projekte oder Arbeitsschritte wiederholt vorkommen, um innerhalb verschiedener Workflows unterschiedliche Aktionen durchführen zu können. Die weiteren Parameter innerhalb dieser Konfigurationsdatei haben folgende Bedeutungen:
Wert
Beschreibung
gmPath
Pfad zur Installation von GraphicsMagick
convertPath
Pfad zur Installation von ImageMagick
project
Dieser Parameter legt fest, für welches Projekt der aktuelle Block <config> gelten soll. Verwendet wird hierbei der Name des Projektes. Dieser Parameter kann mehrfach pro <config> Block vorkommen.
step
Dieser Parameter steuert, für welche Arbeitsschritte der Block <config> gelten soll. Verwendet wird hier der Name des Arbeitsschritts. Dieser Parameter kann mehrfach pro <config> Block vorkommen.
sourceDir
Pfad zu dem Verzeichnis, das als Quellverzeichnis verwendet werden sollen.
destDir
Pfad zu dem Verzeichnis, in das die skalierten und mit Wasserzeichen versehenen Bilder gespeichert werden sollen.
mediaType
Einschränkung auf Vorgänge, deren Metadatum des Typs Type dem konfigurierten Wert entspricht. Alternativ kann * verwendet werden, um keine Einschränkung vorzunehmen.
collection
Einschränkung auf die Vorgänge, die einer ausgewählten digitalen Sammlung zugehören.
resizeTo
Maximale Größe des Bildes an der längsten Seite. Angabe in Pixeln.
watermark/image
Pfad zu einem Bild, das innerhalb des Wasserzeichens verwendet werden soll.
watermark/shadeSize
Definieren Sie hier, welche Größenangabe als shade verwendet werden soll.
watermark/text
Text, der innerhalb des Wasserzeichens verwendet werden soll.
watermark/font
Legen Sie hier fest, welche Schriftart für den Text verwendet werden soll. Diese Schriftart muss auf dem System installiert sein.
watermark/boxSize
Definieren Sie hier, welche Maße die Box haben soll, innerhalb der der Text gerendered werden soll. Dies bestimmt somit die Größe der dargestellten Schrift.
watermark/location
Festlegung, an welcher Stelle innerhalb des Bildes das Wasserzeichen gerendert werden soll. Mögliche Angaben sind north, northeast, east, southeast, south, southwest, west, northwest
watermark/xDistance
Seitlicher Abstand des Wasserzeichens
watermark/yDistance
Abstand des Wasserzeichens nach oben bzw. unten

Integration des Plugins in den Workflow

Zur Inbetriebnahme des Plugins muss dieses für einen oder mehrere gewünschte Aufgaben im Workflow aktiviert werden. Dies erfolgt durch Auswahl des Plugins intranda_step_image_resize_and_watermark aus der Liste der installierten Plugins.
Integration des Plugins in den Workflow
Nach Ausführung des Plugins haben die Bilder die erwartete Größe und verfügen über das konfigurierte Wasserzeichen.
Possible results in the generated images