Wie extrahiere ich Text aus PDF in einem Skript unter Linux?

23

Unter Linux - Wie extrahiere ich Text aus einem .pdfText, bei dem es sich wirklich um Text und nicht um ein gescanntes Bild handelt? Ich möchte etwas, das ich in der Befehlszeile / in einem Skript verwenden kann, nicht interaktiv. (Ich möchte nicht in .tifOCR konvertieren und es verwenden. Text ist bereits in der .pdfDatei vorhanden. Warum sollten Sie also Ungenauigkeiten durch fehlerhafte OCR einführen?)

RobM
quelle
ähnliche Frage bei Askubuntu
Trevor Boyd Smith

Antworten:

25

pdftotext Der mit Poppler gelieferte Befehl versucht, den im PDF-Dokument enthaltenen Text zu extrahieren.

Ignacio Vazquez-Abrams
quelle
1
Vielen Dank für Ihre schnelle Antwort, Ignacio! Ich habe bereits pdftotext überprüft, der w xpdf (von foolabs.com) stammt - Ihre Antwort hat mich dazu veranlasst, einen weiteren Blick darauf zu werfen, und ich habe es zum Laufen gebracht. Poppler scheint sich aus xpdf entwickelt zu haben, also werde ich mir das auch ansehen. Danke noch einmal!
RobM
9

Ignacios Antwort ist in Ordnung. In der Tat wäre es das erste, was auf meiner Liste steht. Nun, das und vielleicht um das pdftohtmlTool vorzuschlagen , das auch mit poppler geliefert wird, kombiniert mit pdfreflow, wenn Sie versuchen möchten, den Text wieder in Absätze usw. zusammenzusetzen auf viele Arten gemacht werden.)

Hier sind noch einige andere Optionen.

Das ebook-convertBefehlszeilentool von Calibre , mit dem PDFs in einfachen Text (oder RTF oder eine Reihe von E-Book-Formaten wie ePub usw.) konvertiert werden können.

pdftxtextractvon Podofo

Abiword kann von der Kommandozeile aus aufgerufen werden, um zwischen allen Formaten zu konvertieren, in die es eingegeben / exportiert werden kann. Mit dem entsprechenden Import-Plugin sind dies auch PDFs:

abiword --to=txt file.pdf

(Fairerweise denke ich, dass AbiWord und Calibre beide die Poppler-Bibliotheken verwenden, aber ich bin nicht positiv.)

schäbig
quelle
Danke, Frabjous! In diesem Fall extrahiere ich nur den Text, damit ich nach bestimmten Zeichenfolgen (Anbieternamen, Kontonummern) und Mustern (Rechnungsnummern und -daten) suchen kann. Sie müssen ihn also nicht neu formatieren oder erneut anzeigen. Ich schätze die Bestätigung und die Alternativen - und ich bin sicher, andere werden es auch! - Rob
RobM