PDFMiner ist ein Textextraktionstool für PDF-Dokumente.
Warnung : Ab 2020 wird PDFMiner nicht mehr aktiv gepflegt . Der Code funktioniert immer noch, aber dieses Projekt ruht weitgehend. Schauen Sie sich für das aktive Projekt seinen Fork pdfminer.six an.
Reines Python (3.6 oder höher).
Unterstützt PDF-1.7. (naja, fast)
Ermittelt die genaue Position des Textes sowie andere Layoutinformationen (Schriftarten usw.).
Führt eine automatische Layoutanalyse durch.
Kann PDF in andere Formate (HTML/XML) konvertieren.
Kann eine Gliederung (TOC) extrahieren.
Kann markierte Inhalte extrahieren.
Unterstützt grundlegende Verschlüsselung (RC4 und AES).
Unterstützt verschiedene Schriftarten (Type1, TrueType, Type3 und CID).
Unterstützt CJK-Sprachen und vertikale Schreibskripte.
Verfügt über einen erweiterbaren PDF-Parser, der für andere Zwecke verwendet werden kann.
> pip install pdfminer
> pdf2txt.py samples/simple1.pdf
pdf2txt.py extrahiert alle Texte, die programmgesteuert gerendert werden. Außerdem werden für jedes Textsegment die entsprechenden Standorte, Schriftartnamen, Schriftgrößen und die Schreibrichtung (horizontal oder vertikal) extrahiert. Text in Bildern wird nicht erkannt. Für eingeschränkte PDF-Dokumente muss ein Passwort angegeben werden.
> pdf2txt.py [-P password] [-o output] [-t text|html|xml|tag] [-O output_dir] [-c encoding] [-s scale] [-R rotation] [-Y normal|loose|exact] [-p pagenos] [-m maxpages] [-S] [-C] [-n] [-A] [-V] [-M char_margin] [-L line_margin] [-W word_margin] [-F boxes_flow] [-d] input.pdf ...
-P password
: PDF-Passwort.
-o output
: Name der Ausgabedatei.
-t text|html|xml|tag
: Ausgabetyp. (Standard: automatisch aus dem Namen der Ausgabedatei abgeleitet.)
-O output_dir
: Ausgabeverzeichnis für extrahierte Bilder.
-c encoding
: Ausgabekodierung. (Standard: utf-8)
-s scale
: Ausgabeskala.
-R rotation
: Dreht die Seite in Grad.
-Y normal|loose|exact
: Gibt den Layoutmodus an. (nur für HTML-Ausgabe.)
-p pagenos
: Verarbeitet nur bestimmte Seiten.
-m maxpages
: Begrenzt die Anzahl der maximal zu verarbeitenden Seiten.
-S
: Entfernt Steuerzeichen.
-C
: Deaktiviert das Ressourcen-Caching.
-n
: Deaktiviert die Layoutanalyse.
-A
: Wendet die Layoutanalyse für alle Texte einschließlich Abbildungen an.
-V
: Erkennt automatisch vertikales Schreiben.
-M char_margin
: Gibt den Zeichenrand an.
-W word_margin
: Gibt den Wortrand an.
-L line_margin
: Gibt den Zeilenrand an.
-F boxes_flow
: Gibt das Box-Flow-Verhältnis an.
-d
: Aktiviert die Debug-Ausgabe.
dumppdf.py wird zum Debuggen von PDFs verwendet. Der gesamte interne Inhalt wird im Pseudo-XML-Format ausgegeben.
> dumppdf.py [-P password] [-a] [-p pageid] [-i objid] [-o output] [-r|-b|-t] [-T] [-O directory] [-d] input.pdf ...
-P password
: PDF-Passwort.
-a
: Extrahiert alle Objekte.
-p pageid
: Extrahiert ein Page-Objekt.
-i objid
: Extrahiert ein bestimmtes Objekt.
-o output
: Name der Ausgabedatei.
-r
: Raw-Modus. Gibt die rohen komprimierten/codierten Streams aus.
-b
: Binärmodus. Gibt die unkomprimierten/dekodierten Streams aus.
-t
: Textmodus. Gibt die Streams im Textformat aus.
-T
: Tagged-Modus. Gibt den markierten Inhalt aus.
-O output_dir
: Ausgabeverzeichnis für extrahierte Streams.
Ersetzen Sie die STRICT-Variable durch etwas Besseres.
Verbessern Sie die Debugging-Funktionen.
Verwenden Sie das Protokollierungsmodul anstelle von sys.stderr.
Richtige Testfälle.
PEP-8- und PEP-257-Konformität.
Bessere Dokumentation.
Unterstützung für Krypto-Stream-Filter.
pyPdf
xpdf
pdfbox
mupdf