Passwortschutz von geschützten PDF-Dateien entfernen (Linux)

Einige Professoren an meiner Hochschule schützen ihre PDF Skripte mit einem Passwort, sodass sie von fremden Usern nicht geöffnet oder bearbeitet werden können. Da die ständige Passworteingabe im Alltag lästig ist, habe ich mich nach einer Möglichkeit umgesehen, den Passwortschutz zu entfernen - am besten direkt über die Kommandozeile.

Mit dem PDF-Tool “qpdf” kann der Passwortschutz sehr unkompliziert entfernt werden:

sudo dnf install qpdf
qpdf --password="geheim" --decrypt mitpasswort.pdf ohnepasswort.pdf

Mehrere Dateien gleichzeitig entschlüsseln

Wenn der Passwortschutz von mehreren PDF-Dateien entfernt werden soll, lässt sich der Prozess auch auf ein ganzes Verzeichnis mit geschützen Dateien anwenden. Dazu wird in das Verzeichnis mit den PDF-Dateien navigiert, das Verzeichnis “out” angelegt und das folgende Kommando ausgeführt:

find . -maxdepth 1 -type f -iname '*.pdf' -printf '%f\0' | xargs -0 -I '{}' qpdf --password="geheim" --decrypt '{}' out/'{}'

Wie funktioniert’s?

Mit dem find Befehl werden zunächst passende Dateien im aktuellen Verzeichnis gesucht - und zwar nur auf der aktuellen Verzeichnisebene (-maxdepth 1) und nur Dateien mit dem Namessuffix “.pdf” (wobei Groß- und Kleinschreibung nicht beachtet wird). Via -printf '%f\0' werden die Dateinamen (bereinigt von ./Präfixen) in Form einer Liste via Pipe an das xargs Kommando weitergeleitet. Xargs erkennt anhand des Null-Delimiters \0 die einzelnen Dateinamen. Für jede Datei wird nun der Rest des Kommandos einzeln ausgeführt: Über -I '{}' wird im hinteren Teil der Zeile der Dateiname der aktuell verarbeiteten Datei im {}-Platzhalter bereitgestellt; danach wird qpdf mit dem Passwort und dem passenden Platzhalter in den Argumenten aufgerufen.

Wieso nicht einfach “als PDF drucken”?

Es gibt auch eine andere, einfache Methode, den Passwortschutz zu umgehen: Die PDF wird einfach in einem PDF-Reader geöffnet, der Druckdialog geöffnet, und das Dokument dann “als PDF” gedruckt. Funktioniert auch - hat aber Nachteile:

  • Bei vielen Dateien bedeutet das viel Handarbeit
  • Metadaten gehen verloren. So ist in der “gedruckten” Version z.B. kein Inhaltsverzeichnis mehr verfügbar.

Die hier vorgestellte Methode mit der Entschlüsselung durch qpdf funktioniert Verlustfrei: Alle Informationen bleiben erhalten, weil das PDF-Dokument nicht neu generiert, sondern nur entschlüsselt wird.