In Python verwende ich pdfminer , um den Text aus einem PDF mit dem Code unter dieser Nachricht zu lesen. Ich bekomme jetzt eine Fehlermeldung, die sagt:
%Vor%Wenn ich dieses PDF mit Acrobat Pro öffne, stellt es sich heraus, dass es gesichert (oder "lesegeschützt" ist). Von diesem Link habe ich jedoch gelesen, dass es eine Vielzahl von Diensten gibt, die diesen Leseschutz deaktivieren können leicht (zum Beispiel pdfunlock.com . Beim Eintauchen in die Quelle von pdfminer sehe ich, dass der obige Fehler auf diese Zeilen .
%Vor% Da es eine Vielzahl von Diensten gibt, die diesen Leseschutz innerhalb einer Sekunde deaktivieren können, nehme ich an, dass dies sehr einfach ist. Es scheint, dass .is_extractable
ein einfaches Attribut von doc
ist, aber ich denke nicht, dass es so einfach ist, .is_extractable
zu True zu ändern.
Weiß jemand, wie ich den Leseschutz auf einem Pdf mit Python deaktivieren kann? Alle Tipps sind willkommen!
================================================ =
Nachfolgend finden Sie den Code, mit dem ich derzeit den Text aus nicht gelesenen geschützten extrahieren.
%Vor% Soweit ich weiß, wird in den meisten Fällen der gesamte Inhalt der PDF-Datei tatsächlich verschlüsselt, wobei das Passwort als Verschlüsselungsschlüssel verwendet wird. Daher ist es einfach, .is_extractable
auf True
zu setzen.
Pro Thema:
Gibt es eine Bibliothek zum Entfernen von Passwörtern aus PDFs? programmgesteuert?
Ich würde empfehlen, den Lese-Schutz mit einem Kommandozeilen-Tool wie qpdf
zu entfernen (leicht installierbar, zB auf Ubuntu benutze apt-get install qpdf
, falls du es noch nicht hast):
Öffnen Sie dann die entsperrte Datei mit pdfminer
und machen Sie Ihre Sachen.
Bei einer reinen Python-Lösung können Sie versuchen, PyPDF2
und seine .decrypt()
-Methode zu verwenden, aber es funktioniert nicht mit allen Arten von Verschlüsselung. Sie verwenden also besser qpdf
- siehe:
Tags und Links python pdf pdfminer pdf-scraping