Dies ist eine Ergänzung zu @Dennis’ Antwort vom 30. Juli 2012, 18:06 Uhr. Er spricht sicherlich den schwierigeren Fall an.
Im einfachsten Fall, in dem das Wasserzeichen ein einfacher, schmuckloser Text ist, zum Beispiel
Smedley For Commissioner
könnten die unkomprimierten PDF-Wasserzeichen wie folgt definiert werden:
BT
75.96 625 Td
(Smedley For Commissioner)Tj
ET
wobei 75.96
der horizontale Offset und 625
der vertikale Offset für diese spezielle Wasserzeicheninstanz ist. (Ja, es können sowohl reelle Zahlen als auch ganze Zahlen sein.)
Eine Regexp wie die folgende funktioniert für alle diese Wasserzeichen, wobei alle Variationen in ihrer Platzierung ignoriert werden:
^BT\n[0-9.]+ [0-9.]+ Td\n\(Smedley For Commissioner\)Tj\nET\n
Beachten Sie jedoch, dass bei Wasserzeichen mit komplizierterer Formatierung eine Reihe von modifizierenden PDF-Operatoren ins Spiel kommen können. Solche Spielereien können das, was der Leser als zusammenhängende, leicht zu durchsuchende Zeichenkette erwartet (hofft?), in ein Durcheinander von Buchstabensuppe verwandeln. Zum Beispiel könnte
E1 = mc² von Smedley™
das Produkt davon sein:
BT
75.96 625 Td
(E)Tj
-5 Ts
(1)Tj
0 Ts
( = mc)Tj
5 Ts
(2)Tj
0 Ts
(by Smedley)Tj
5 Ts
(TM)Tj
0 Ts
ET
… oder noch viel schlimmer, wenn das Wasserzeichen farblich hervorgehoben ist!
Nachdem ich das alles angemerkt habe, will ich auch noch anmerken, dass es von PDFtk eine GUI-Version gibt, die angeblich mit Wasserzeichen umgehen kann, und zwar gegen eine Lizenzgebühr von $4. Überhaupt nicht teuer!
Auf der anderen Seite finde ich, dass seine Website derzeit volle Unterstützung für O/S’s bis Windows 8
und OS X 10.8 Mountain Lion
anpreist. Dieser Jahrgang ist über 4 Jahre alt. Könnte es sein, dass PDFtk veraltet ist? Ich vermute nicht, aber ich weiß es nicht.