Ich nehme an, Ihr Ziel ist es , die Auswahl und das Kopieren von Text aus einer PDF-Datei zu erschweren . Denn das ist das einzig erreichbare Ziel, das Sie aufstellen können. (Wenn es eine Möglichkeit gibt, die PDF-Seiten auf dem Bildschirm anzuzeigen, gibt es eine Möglichkeit, irgendwie auf den Text- oder Bildinhalt zuzugreifen, auch wenn dies schwieriger ist als nur das Kopieren und Einfügen bewusst, dass.)
Sie haben drei Möglichkeiten:
- Konvertieren Sie Ihre PDF-Seiten in ganzseitige Pixelbilder und verpacken Sie diese Bilder erneut in ein mehrseitiges PDF.
- Konvertieren Sie die Glyphen aller eingebetteten Schriftarten in Vektorumrisse .
- "Verschlüsseln" Sie Ihr PDF mit einem Benutzerpasswort .
Jede dieser drei Methoden ist mit dem richtigen Werkzeug sehr einfach anzuwenden. :-)
Für jede dieser Methoden können Sie ein Tool für freie und Open Source-Software in der Befehlszeile verwenden. (Jedes dieser Tools ist für Linux, Mac OSX, Unix oder Windows verfügbar.)
Weitere Informationen zu den einzelnen Methoden finden Sie weiter unten.
1. Erstellen Sie ganzseitige Pixelbilder (mit ImageMagick convert)
Sie können mit ImageMagick ‚s convertBefehl einfach wie folgt aus :
convert \
pdf-with-fonts.pdf \
pdf-with-images.pdf
ImageMagick kann direkt nur mit Rasterbildern arbeiten , nicht mit einem anderen Format. Da PDFs nicht direkt verarbeitet werden können, wird Ghostscript automatisch als Stellvertreter verwendet . Daher muss auch Ghostscript installiert sein! Ghostscript erstellt die Rasterbilder, die von ImageMagick als Eingabe benötigt werden.
Sie können den Prozess von ImageMagick beobachten, indem Sie Ghostscript als Hintergrundprozess verwenden, indem Sie -verboseIhrer Befehlszeile einen Schalter hinzufügen .
Standardmäßig convertwird eine Auflösung von 72ppi verwendet. Dies ist möglicherweise nicht gut genug zum Lesen (aber es wird viel schwieriger sein, Ihren "Schutz" durch Anwenden von OCR-Software auf die Ausgabe zu umgehen .)

Das obige Bild zeigt einen Screenshot einer pixeligen PDF-Seite, die mit der von ImageMagick bei einer Zoomstufe von 600% verwendeten Standardauflösung (72 PPI) erstellt wurde. Wenn Sie eine bessere Auflösung benötigen, z. B. 200 PPI, fügen Sie den -density 200Parameter in die Befehlszeile ein:
convert \
-density 200 \
pdf-with-fonts.pdf \
pdf-with-images.pdf

Das obige Bild zeigt die Aufnahme (ebenfalls bei einer Zoomstufe von 600%) einer pixeligen PDF-Seite, die von ImageMagick mit einer höheren Auflösung von 200 PPI erstellt wurde.
Beachten Sie, dass beim Testen des obigen Befehls mit der Standardauflösung von 72 PPI eine 219-seitige PDF-Datei mit dem gesamten Text und einer Größe von 1 MByte eine Ausgabedatei von 23 MByte ergab. Die Generierung auf einem MacBook dauerte ca. 2 Minuten. Das 200ppi PDF hat 110 MByte ergeben und es hat 11 Minuten gedauert, bis es fertig ist ...
Umgehen?
Es ist einfach, die Pixelung von Seiten zu umgehen, wenn die Auflösung gut genug ist: OCR funktioniert einwandfrei. Mit einer geringen Auflösung ist es für den Menschen möglicherweise noch lesbar (und erratbar), für Maschinen jedoch schwierig, gute OCR-Ergebnisse zu erzielen.
2. Alle Glyphen in Vektorumrisse konvertieren (mit Ghostscript)
Sie können die neueste und neueste Version von Ghostscript verwenden. Das ist Version 9.15 . Überprüfen Sie Ihre installierte Version mit gs -version.
Die neueste Version 9.15 enthält einen neuen Befehlszeilenparameter --dNoOutputFonts. Dieser Parameter konvertiert alle Glyphenformen in Konturen und entfernt alle eingebetteten Schriftarten:
gs \
-o pdf-with-outlines.pdf \
-sDEVICE=pdfwrite \
pdf-with-fonts.pdf
In meinem Test wurde dieselbe 219-seitige PDF-Datei (mit einer Größe von 1 MByte) in eine Ausgabedatei von 186 MByte konvertiert, wobei die Konvertierung 6 Minuten in Anspruch nahm.
Der Vorteil von Konturen besteht darin, dass der Text der Seite klar und scharf bleibt und keine Pixel aufweist. Sie können den Text auf jeder Ebene vergrößern, ohne an Schärfe zu verlieren. Das sehen Sie im nächsten Screenshot:

Der Nachteil ist die Dateigröße. (Übrigens habe ich die gleiche Methode zum Konvertieren von Text in Konturen mit Adobe Acrobat Pro XI getestet. Die resultierende Dateigröße betrug 61 MByte und dauerte 15 Minuten.)
Umgehen?
Diese Maßnahme lässt sich leicht umgehen: OCR funktioniert einwandfrei.
3. Schützen Sie PDF, indem Sie es "verschlüsseln" (Using qpdf)
Was nicht so gut bekannt ist, ist, dass Sie ein PDF mit leeren Passwörtern (den Passwörtern "Benutzer" und "Eigentümer") "schützen" oder "verschlüsseln" können . Auf diese Weise kann jede PDF Reader / Viewer-Software die Datei öffnen, ohne nach einem Kennwort zu fragen. Das Kennwortdialogfeld wird nur angezeigt, wenn Sie versuchen, Text von einer Seite zu kopieren oder die Datei zu drucken.
QPDF hat dafür eine recht gute Unterstützung:
qpdf \
--encrypt "" "" 40 \
--print=n \
--modify=n \
--extract=n \
-- \
uncrypted.pdf \
crypted.pdf
Was bedeuten all diese Befehlsoptionen?
--encrypt "" "" 40:
Dies setzt sowohl die Passwörter (Benutzer und Besitzer) auf die leere Zeichenkette als auch die Schlüssellänge auf 40 Bit.
--print=n:
Deaktiviert das Drucken der PDF-Datei.
--modify=n:
Deaktiviert die Änderung der PDF-Datei.
--extract=n:
Deaktiviert die Text- und Bildextraktion der PDF-Datei.
--:
Dies ist erforderlich, um das Ende der Verschlüsselungsoptionen anzuzeigen.
Wenn Sie eine 128- oder 256-Bit-Schlüssellänge verwenden, stehen in QPDF detailliertere (und andere) Optionen zur Verfügung. Zu den weiteren verfügbaren Optionen gehören --modify=[annotate|form|assembly]das Ausfüllen von Formularen, das Hinzufügen von Anmerkungen oder das Zusammenfügen des Dokuments mit anderen PDF-Dateien (wobei Copy'n'Paste oder Drucken weiterhin verboten sind).
Dieser Befehl
qpdf --show-encryption crypt.pdf
Zeigt die Details zu den Verschlüsselungseinstellungen einer Datei an. Beispiel:
extract for accessibility: not allowed
extract for any purpose: not allowed
print low resolution: not allowed
print high resolution: not allowed
modify document assembly: not allowed
modify forms: allowed
modify annotations: allowed
modify other: not allowed
modify anything: not allowed

Übrigens: Wenn Sie das Kennwort in den beiden oben gezeigten Dialogfeldern leer lassen, kann dies bei (den meisten? Oder allen? Nicht getesteten ...) PDF-Viewern nicht hilfreich sein. Es kann immer noch nicht zum Kopieren oder Drucken entsperrt werden.
Der Vorteil dieser Methode liegt in der schnellen Ausführung und der nahezu identischen Dateigröße.
Umgehen?
Natürlich ist es genauso einfach, die 'Verschlüsselung' wieder zu entfernen:
qpdf --decrypt crypted.pdf decrypted.pdf
4. Zusammenfassung
Verwenden Sie für schnelle Ergebnisse, identische Dateigrößen und einen einfach zu entfernenden Schutz gegen "zufälliges" Auswählen und Kopieren von Text "Schutz" / "Verschlüsselung" mit einem leeren Kennwort.
Verwenden Sie für langsame Ergebnisse und möglicherweise große Dateigrößen (aber nicht immer gut aussehende Seiten) und etwas mehr Arbeit, um den Schutz zu entfernen, die Pixelung für alle Seiten.
Verwenden Sie für noch langsamere Ergebnisse (aber immer besser aussehende Seiten) und auch für das Entfernen des Schutzes die Vektorumrissmethode für den gesamten Text.
Beachten Sie immer, dass all diese Methoden den Inhalt Ihrer PDF-Seiten nicht absolut schützen. Sie machen es nur umständlicher zu extrahieren.