Kopieren+einfügen von text aus PDF-Ergebnisse im Müll
Schreibe ich eine Masterarbeit - NLP system. Ich habe eine Komponente - extractor.
Es ist die Gewinnung einer einfachen text aus PDF-Dateien. Es gibt ein paar PDF-Dateien, die nicht ordnungsgemäß extrahiert. Extractor (PDFBox-Bibliothek) gibt eine Zeichenfolge wie diese:
"┤xDn║wenn|d├gDF"Ti&cD╬lh d FÁhis~n ğ xd f«"d┤ffih »h"
oder
"10a61a91a22a25a3a27a17a23a20a8a13a14a61a25a17"
Ich war die überprüfung jeder Datei, lässt diese Extraktion der problem-und alle diese Dateien' text auch nicht kopieren-einfügen von PDF-Reader (Adobe Reader und FoxIt reader). Betrachten Sie in diesen Leser aktiviert ist, aber nach der Auswahl Ihrer Inhalte und kopieren in die Zwischenablage bekomme ich die gleichen falschen text (wie oben beschrieben - strings, die nicht semantisch korrekte chars oder strings von Ziffern und Buchstaben).
Könnte jemand mir helfen?????
- Manchmal, Sie können nicht einfach bekommen Sie den text aus, ohne Rückgriff auf OCR (optical character recognition). Das klingt wie einer von Ihnen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie sind in der Lage, erfolgreich auswählen und kopieren Sie den text in Adobe Reader -- darauf hingewiesen, dass die PDF-Datei enthält text-Objekte -- aber Sie können nicht fügen Sie den kopierten text in den Editor, ohne es sah aus wie ein Haufen Müll-Zeichen, dann das problem ist wahrscheinlich mit der CMap, dass der ausgewählte text verwendet.
PDF-Spezifikation bietet viele Optionen für die Anzeige von Textinhalte und die zugehörige Extraktion der text-Inhalt. Eine CMap-gibt die Zuordnung von Zeichen zu Zeichen-Selektoren. Die PDF-Spezifikation beschreibt einige vordefinierte CMaps, aber andere CMaps können auch eingebettet werden.
Meine Vermutung ist, dass entweder die CMap für diesen text korrupt ist oder, dass der PDFBox-Bibliothek nicht unterstützt diese insbesondere CMap. Ich schlage vor, versucht eine andere SDK nur um zu sehen, wenn Sie unterschiedliche Ergebnisse.
Sehr oft in solchen Fällen, wo Sie können nicht auswählen, copy & Paste text aus Acrobat (Reader) - Fenster, gibt es andere Optionen, die möglicherweise funktionieren, dennoch:
Haben Sie alle Texte von allen Seiten in die Datei und suchen müssen die Stelle, die Sie wollte zu copy ' N 'Paste zunächst -- insofern ist es nicht so komfortabel ist wie der direct copy' N ' Paste. Aber es funktioniert zuverlässig....
Funktioniert es auch mit
acroread
auf Linux (aber Sie haben zu wählen 'als text Speichern...' aus dem Datei-Menü).Update
Können Sie die
pdffonts
Befehlszeilen-Dienstprogramm, um eine quick-shot-Analyse der Schriften, die von einer PDF-Datei.Hier ist ein Beispiel für die Ausgabe, die zeigt, wo sich ein problem für die text-Extraktion wird sehr wahrscheinlich auftreten. Es verwendet eine dieser hand-codierten PDF-Dateien aus einem GitHub-Repository die erstellt, um PDF-Beispiel-Dateien sind gut kommentiert und kann leicht mit einem Texteditor geöffnet:
Wie ist diese Tabelle zu interpretieren?
BAAAAA+
undCAAAAA+
Präfixe zu Ihrem Namen, als auch durch dieyes
Einträge in dersub
Spalte)Helvetica
undHelvtica-Bold
.TrueType
.WinAnsi
Codierung (ein font-encoding maps char Bezeichner verwendet, die in der PDF source-code von Glyphen, die gezeichnet werden sollen).Allerdings nur für schriftart
/Helvetica
es ist ein/ToUnicode
Tabelle innerhalb der PDF-Datei (für/Helvetica-Bold
es gibt keine), wie dies durch dieyes
/no
imuni
-Spalte).Den
/ToUnicode
Tabelle ist nötig, um ein reverse-mapping von Zeichen Kennungen/codes zu Zeichen.Einer fehlenden
/ToUnicode
Tabelle für eine bestimmte schriftart ist fast immer ein sicherer Indikator, dass text-strings mit dieser schriftart nicht extrahiert oder kopiert ' N ' 'pasted aus der PDF-Datei. (Auch wenn/ToUnicode
Tabelle ist es, text-Extraktion möglicherweise noch ein problem darstellen, da diese Tabelle ist möglicherweise beschädigt, fehlerhafte oder unvollständige -- wie gesehen, in vielen real-world-PDF-Dateien und zeigt auch ein paar Begleit-Dateien in den oben verlinkten GitHub-repository.)Beim öffnen als Gmail-Anhang in Chrome (den internen PDF-browser) kopieren werden kopieren normal lesbare Zeichen!
Es funktionierte für mich, wenn ich hatte dieses problem und auch für andere. Ich denke, dass der Chrome PDF viewer verwendet die Google Drive OCR automatisch... Es ist wie Magie!
Was war die erstellte PDF-Datei mit. Einige PDF-Dokumente enthalten keine Kodierung von Informationen, nur die Daten, die es zu ziehen. So gibt es keine Möglichkeit um die Daten zu extrahieren.
Wählen Sie den text, den Sie kopieren möchten.
Rechts klicken
Wählen Sie die option "Auswahl Exportieren als"
In dem Dialogfeld, wählen Sie einen Dateinamen und speichern Sie die neue Datei als RTF (Rich Text Format)
Öffnen Sie die RTF, um zu sehen, Ihr text!
Die beste Möglichkeit, damit umzugehen ist (vorausgesetzt, Sie haben Adobe Acrobat, oder etwas ähnliches, nicht sicher, ob der Leser dies tun können) ist, speichern Sie die doc als JPEG. Dann kompilieren Sie alle Bilder als einzelne pdf-Datei, dann verwenden Sie die OCR-Funktion zum suchen von text in die Seiten, dann kann man Sie kopieren und fügen Sie den text.
PDF ist nicht ein text-Dokument. Es ist eher ein Vektorgrafik-format, manchmal können auch text enthalten. So gibt es einige Dokumente, aus denen Sie nicht extrahiert text, es sei denn, Sie sind bereit zu tun, OCR. Das ist einfach so wie es ist.