Ich habe vor einigen Jahren etwas Ähnliches gemacht. Es erfüllte nicht alle Ihre "harten" Kriterien. Es hat so funktioniert:
Ich habe einen kaum nachweisbaren, "anklickbaren" Bereich mit 2x2 Punktgröße an einem zufälligen Ort an einem Rand einer zufälligen PDF-Seite platziert. Es ist nicht sehr wahrscheinlich, dass es zufällig entdeckt wird (unter der Last anderer sehr offensichtlich anklickbarer Hotspots, die sich ohnehin in der PDF-Datei befanden ...).
Wenn Sie auf den Link klicken, würden Sie zu einer Webseite
http://my.own.site/project/87245e386722ad77b4212dbec4f0e912
mit einigen "Errata" -Aufzählungspunkten führen. (Habe ich schon erwähnt, dass dies87245e386722ad77b4212dbec4f0e912
der MD5-Hash des Namens der Person + der Kontaktdaten ist, die ich in einer DB-Tabelle gespeichert habe? :-)
Offensichtlich schützt dies nicht vor Drucken + Scannen + Stellen oder vor einem PDF-Aktualisierungszyklus. Und es hängt auch von einem gewissen Maß an "Sicherheit durch Unbekanntheit" ab.
So fügen Sie mit Ghostscript einen solchen anklickbaren Hotspot in der unteren linken Ecke von Seite 1 von random-in.pdf hinzu:
gs \ -o random-out.pdf \ -sDEVICE=pdfwrite \ -dPDFSETTINGS=/prepress \ -c "[ /Rect [1 1 3 3]" \ -c " /Color [1 1 1]" \ -c " /Page 1" \ -c " /Action <</Subtype /URI" \ -c " /URI (http://my.own.site/87245e386722ad77b4212dbec4f0e912)>>" \ -c " /Subtype /Link" \ -c " /ANN pdfmark" \ -f random-in.pdf
Um den anklickbaren Bereich zu vergrößern und sichtbar zu machen, ändern Sie die Befehlszeilenparameter wie folgt:
[....] -c "[/Rect [1 1 50 50]" \ -c " /Color [1 0 0]" \ [....]
Noch einfacher wäre es, einen MD5-Hash der PDF-Datei in Ihrer Datenbank zu generieren. Aufgrund der UUID der Dokumente sowie des CreationDate und des ModDate in ihren Metadaten ist es für jede erstellte PDF-Datei einheitlich. Natürlich können Sie damit auch nur die Original-PDFs in digitaler Form verfolgen ...