Image scaling and watermarking
This step plugin scales images to configurable maximum sizes and renders a watermark into the scaled images.
This plugin allows you to scale images to a maximum size and then render watermarks into the previously scaled images. The maximum size and the watermark to be rendered can be configured flexibly.
Details | Text |
---|---|
Identifier | intranda_step_image_resize_and_watermark |
Source code | |
Licence | GPL 2.0 or newer |
Compatibility | Goobi workflow 2020.06 |
Documentation date | 31.08.2020 |
To install the plugin, the following file must be installed:
/opt/digiverso/goobi/plugins/step/plugin_intranda_step_image_resize_and_watermark.jar
A configuration file is also required to run the plugin correctly:
/opt/digiverso/goobi/config/plugin_intranda_step_image_resize_and_watermark.xml
Furthermore, a successful installation of the following two packages is also required on the system:
ImageMagick
GraphicsMagick
Both packages are included in common package managers and can be easily installed from them.
The configuration of the plugin allows you to define the maximum size of the images and the watermark (images and text watermarks are supported). Also the positioning of the watermark can be defined individually. Several configurations are possible for this purpose, which are differentiated by the project, the name for the work step within the workflow, the digital collection as well as a media type (special metadata within the METS file of the respective process). When the plugin is executed, the first configuration that matches the currently processed task is used.
Please note that the correct paths for GraphicMagick and ImageMagick must also be specified at the top of the configuration.
An example configuration for the file
plugin_intranda_step_image_resize_and_watermark.xml
looks like this:<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>
The block
<config>
can occur repeatedly for different projects or workflow steps in order to be able to carry out different actions within different workflows. The other parameters within this configuration file have the following meanings:Value | Description |
---|---|
gmPath | Path to install GraphicsMagick |
convertPath | Path to install ImageMagick |
project | This parameter defines the project for which the current block <config> is to apply. The name of the project is used here. This parameter can occur several times per <config> block. |
step | This parameter controls for which work steps the block <config> is to apply. The name of the work step is used here. This parameter can occur several times per <config> block. |
sourceDir | Path to the directory to be used as the source directory. |
destDir | Path to the directory in which the scaled and watermarked images are to be saved. |
mediaType | Restriction to operations whose metadata of type Type corresponds to the configured value. Alternatively, * can be used to make no restriction. |
collection | Restriction to the operations that belong to a selected digital collection. |
resizeTo | Maximum size of the image on the longest side. Specified in pixels. |
watermark/image | Path to an image to be used within the watermark. |
watermark/shadeSize | Define here which size specification should be used as shade. |
watermark/text | Text to be used within the watermark. |
watermark/font | Specify here which font should be used for the text. This font must be installed on the system. |
watermark/boxSize | Define here what dimensions the box should have within which the text is to be rendered. This thus determines the size of the displayed font. |
watermark/location | Determines where within the image the watermark should be rendered. Possible specifications are north , northeast , east , southeast , south , southwest , west , northwest |
watermark/xDistance | Lateral distance of the watermark |
watermark/yDistance | Distance of the watermark up or down |
To use the plug-in, it must be activated for one or more desired tasks in the workflow. This is done by selecting the plugin
intranda_step_image_resize_and_watermark
from the list of installed plugins.
Integration of the plugin into the workflow
After running the plugin the images have the expected size and have the configured watermark.

Possible results in the generated images
Last modified 1yr ago