PDF mit Wasserzeichen versehen

Mi, 15. März 2023, Ralf Hersel

Gestern gab es eine Anfrage in unserem TALK-Raum, wie man denn PDF-Dateien mit einem Wasserzeichen auf allen Seiten versieht. Solche Anforderungen nehme ich gerne als Herausforderung an, wenn ich selbst nicht weiss, wie die Lösung lautet. Als prompte Vorschläge wurden ImageMagick oder PDFTK genannt. Wie sich in diesem Artikel zeigt, ist die Lösung nicht so einfach, wie vermutet wurde.

Oft ist es richtig, eine Anforderung zu analysieren, bevor man sich mit möglichen Lösungen beschäftigt. Also, worum geht es hier? Man hat eine PDF-Datei, die man auf allen Seiten mit einem Wasserzeichen versehen möchte. Das Wasserzeichen ist ein diagonal verlaufender Text. Dabei soll das Wasserzeichen im Hintergrund liegen, damit die PDF-Datei nicht vom Wasserzeichen verdeckt wird. Somit muss die PDF-Datei transparent sein, damit das darunterliegende Wasserzeichen nicht von der PDF-Datei verdeckt wird.

Nachdem die Anforderung verstanden wurde, kann man nach möglichen Lösungen suchen.

Beginnen möchte ich mit einem Versuch, der sehr einfach ist und funktioniert.

Versuch 1 - LibreOffice

Man öffne die PDF-Datei in LibreOffice Draw. Dann exportiert man die Datei als PDF-Datei mit dem Menüpunkt Datei, Exportieren als, Als PDF exportieren. Bei den Exportoptionen wählt man den Punkt Mit Wasserzeichen versehen und gibt einen Text ein. Das Ergebnis sieht so aus:

Der Wasserzeichen-Text wird vertikal, mit fester Grösse und Farbe als Hintergrund eingefügt. Auf die Ausrichtung, Grösse und Farbe hat man keinen Einfluss. Lediglich der Text kann bestimmt werden.

Versuch 2 - PDFTK (background)

Während der erste Versuch einfach ist und augenscheinlich funktioniert, erfüllt er nicht ganz die Anforderungen. Diese verlangten einen diagonalen Text im Hintergrund. Das PDF-Toolkit (pdftk) bietet zwei Optionen, die für eine Lösung taugen könnten: background und stamp. Für meine Beispiele gibt es zwei Dateien: Statuten.pdf und Wasserzeichen.pdf. Das Wasserzeichen soll unten liegen und von den Statuten transparent überdeckt werden. Und genau dort liegt das Problem. Dieser naheliegende Befehl führt nicht zum gewünschten Ergebnis:

pdftk Statuten.pdf background Wasserzeichen.pdf output Statuten_mit_Wasserzeichen.pdf

Als Ergebnis erhält man eine Datei, die genau der Statuten.pdf entspricht, weil ebendiese nicht transparent ist und somit das Wasserzeichen vollständig abdeckt. Man könnte den Befehl herumdrehen, was jedoch aus denselben Gründen nicht zum gewünschten Resultat führt, weil die Datei Wasserzeichen.pdf auch nicht transparent ist. Nun stellt sich die Frage, wie man eine PDF-Datei transparent macht. Dazu habe ich keine Lösung gefunden (obwohl es sie bestimmt gibt).

Versuch 3 - PDFTK (stamp)

Bei diesem Versuch probiere ich es mit stamp:

Ihr seht es: stamp bügelt das Wasserzeichen über die PDF-Datei. Da die Wasserzeichen.pdf auch nicht transparent ist, werden Teile des Orignals überdeckt. Das Wasserzeichen habe ich in LibreOffice Writer erzeugt, indem ich einen Fontwork-Text eingefügt und gedreht habe. Leider gibt es beim PDF-Export keine Möglichkeit, die Datei mit transparentem Hintergrund zu speichern.

Versuch 4 - Transparentes Wasserzeichen

Die Stossrichtung ist jetzt klar; entweder muss das Wasserzeichen oder die Statuten.pdf transparent sein. In diesem Versuch machen wir das Wasserzeichen transparent. Dazu speichern wir die Wasserzeichen-Datei, die wir mit LibreOffice Writer erstellt haben, als PNG-Datei ab. Wie schon in der Einleitung angekündigt, kommt nun ImageMagick zum Einsatz:

convert Wasserzeichen.png -transparent white -background none Wasserzeichen.pdf
pdftk Statuten.pdf stamp Wasserzeichen.pdf output Statuten_mit_Wasserzeichen.pdf

Die erste Zeile erzeugt aus dem PNG eine PDF-Datei mit transparentem Hintergrund. Der zweite Befehl stempelt das nun transparente Wasserzeichen über die Statuten.pdf. So sieht das Ergebnis aus:

Das sieht brauchbar aus, obwohl es noch nicht optimal ist. Das Wasserzeichen ist in seinen weissen Bereichen transparent, wodurch man den darunterliegenden Text lesen kann. Die Umrandungen des Wasserzeichens sind nicht transparent und überdecken den Text darunter. Das kann erwünscht sein, weil damit die Entfernung des Wasserzeichens, bzw. das Scannen der Statuten erschwert wird.

Um eine optimale Lösung zu erzielen, müsste der Statuten-Text transparent sein und das Wasserzeichen mit pdftk background eingefügt werden. Wie das gehen soll, weiss ich nicht.

Fazit

Die vier Versuche haben zwei brauchbare Lösungen hervorgebracht. Wer es einfach haben möchte, öffnet die PDF-Datei in LibreOffice Draw und speichert diese mit einem Wasserzeichen ab. Als Alternative dient der vierte Versuch, bei dem eine transparente Wasserzeichen.png über die PDF-Datei gestempelt wird. Dabei ist darauf zu achten, dass der Wasserzeichen-Text nur aus dünnen Konturlinien besteht (LibreOffice Fontwork), weil sonst zu viel des darunterliegenden Textes überdeckt wird.

Vielleicht finden unsere Leser und Leserinnen eine bessere Lösung.

Update

Ja, die Community hat bessere Lösungen gefunden. Herzlichen Dank an alle Kommentatoren, hier und auf Mastodon. Ich möchte diesen Artikel mit zwei Lösungsvorschlägen abrunden. Der erste kommt von Roland (siehe Kommentare) und der zweite von Cristal Pixel.

Rolands Lösung

Falls die Datei als ODT (LibreOffice Writer) vorliegt, geht man dort auf den Menüpunkt: Format, Seitenvorlage, Transparenz und stellt diese auf 100 % ein:

Dann speichert man die ODT-Datei als PDF ab. Nun kann man, wie bei Versuch 2 beschrieben, den Text über das Wasserzeichen legen. Das Ergebnis sieht so aus:

Da die Statuten jetzt transparent sind, ist das darunterliegende Wasserzeichen vollständig sichtbar.

Cristal Pixels Lösung

Diese Variante eignet sich, wenn man keine Originaldatei des Textes, sondern nur eine PDF-Datei hat. Diese öffnet man in LibreOffice-Writer, wobei beim Öffnen der Dateifilter "PDF - Portable Document Format (Writer)" gewählt werden muss. Macht man das nicht, wird die Datei in LO-Draw geöffnet. In LO-Writer öffnet man den Menüpunkt: Format, Wasserzeichen und stellt die gewünschten Parameter ein:

Nachdem die Datei mit den Änderungen wieder als PDF-Datei gespeichert wurde, präsentiert sich das Ergebnis so:

Damit wäre das Thema ausführlich und abschliessend behandelt und bleibt für alle im GNU/Linux.ch-Nachschlagewerk erhalten. Vielen Dank an alle Beteiligten.

Quelle: https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/

Tags

PDF, Wasserzeichen, pdftk, ImageMagick