2012-04-17 5 views
5

Ich muß Text von Rechnungen und Rechnungen PDF-Dateien LayoutRegelbasierte PDF Textextraktion für bewandert und Rechnungen

Die Dateien extrahieren kann komplex, obwohl seine meist mit Tischen gefüllt.

Ich habe schon ein paar Dutzend Artikel über das PDF-Format gelesen, wie einfach es für unser Gehirn ist, es zu verstehen und wie schwer es für eine Maschine ist, ihre Struktur zu verstehen.

Auch heruntergeladen ein paar Tools wie Python die pdfminer und einige Java-Tools, einige sogar haben rule-basierte Layout-Extraktion, wie LA-PDBtext das sind alle großen Bibliotheken, so dass Sie den letzten Schritt.

Adobe hat auch einen Online-Dienst namens ExportPDF aber es kann nicht

Unterm Strich angepasst werden, verstehe ich, dass etwas, um Text aus strukturierten PDF-Dateien zu extrahieren und wandelt es in XML zum Beispiel, sollte es Niveau der manuellen Arbeit.

Ich fand auch From Data Extractor, ein nicht kostenloses Tool mit der Fähigkeit, Extraktionsregeln zu setzen, die behauptet, den Job zu tun, obwohl es schwer ist, ein richtiges Handbuch zu finden, und es läuft nur auf Windows.

Ich dachte, ich könnte sogar versuchen, diese Dateien in Bilder zu konvertieren und versuchen tesseract-ocr, aber beschlossen, um Rat zu fragen, bevor ich mehr Zeit darauf verbringen.

Ich werde sehr dankbar sein, wenn jemand mit solcher Erfahrung mir einen Hinweis geben wird.

+0

Wenn diese PDFs nicht konform mit PDF/A-1a sind, haben Sie eine Menge Arbeit - Sie müssen OCR machen. PDF ist nicht das richtige Format dafür; versuchen Sie, die Rechnungen und Rechnungen als korrekt strukturiertes XML oder als EDIFACT zu erhalten. –

+0

Hey ich weiß, das ist ein alter Beitrag, aber versuchen Sie Tabula https://github.com/jazzido/tabula-extractor – blaze

Antwort

7

Ich habe eine Menge PDF-Extraktion gemacht und ich kann bestätigen, wie Sie bereits festgestellt haben, dass es ein schmerzhafter Prozess sein kann zu starten. Eines der wichtigsten Dinge zu verstehen ist, dass es kein Konzept von "Tabellen" in einer PDF gibt, nur Text, der zufällig Zeilen um ihn herum hat. Es gibt auch keine Garantie dafür, dass die lineare Reihenfolge des Texts innerhalb des PDF-Codes tatsächlich mit der visuellen Reihenfolge beim Drucken übereinstimmt. Mit anderen Worten, es gibt keine Garantie, dass "Hallo Welt" in dieser Reihenfolge geschrieben wird, es könnte draw 'word' at coord 20 then draw 'hello' at coord 10 sein. Die meisten PDF-Ersteller tun dies nicht, aber es gibt keine Garantie. Je kreativer ein PDF-Ersteller ist (InDesign, Illustrator usw.), desto wahrscheinlicher ist es, dass der Text schwerer herauskommt. Und tatsächlich, sobald ein Designer anfängt, mit Fonts zu viel zu tun, werden manche Programme tatsächlich Wörter wortweise ausgeben, wobei die Schriftart jedes Mal nur geringfügig geändert wird.

Das sagte, ich würde die erste empfehlen, die Sie angeschaut haben, LA-PDFText. Sie können es in discovery mode (blockify) ausführen, aus dem Sie Regeln erstellen können. Ich habe kein Java mehr installiert, also kann ich es nicht testen, aber es scheint sehr vielversprechend.

Ihr zweiter, A-PDF Form Data Extractor, funktioniert nur mit tatsächlichen PDF-Formularen. Wenn dies der Fall ist, würde ich nur eine Open Source-Lösung wie iText/iTextSharp empfehlen.

Die letzte OCR-Datei lässt mich zusammenzucken. Ich kann mir einfach nicht vorstellen, dass das Durchlaufen dieser Ringe zu einer besseren Textdarstellung führen würde, als das PDF zu analysieren. Aber auch hier ist PDF ein visuelles Format, also vielleicht.

Persönlich verwende ich iText/iTextSharp für diese Art von Sache, aber ich mag es auch Dinge auf die harte Art zu tun.

3

Es ist nicht klar, ob Sie nach dem Entwicklungstool zur Automatisierung der Datenextraktion aus Rechnungen und Rechnungen oder nur nach dem einmaligen Tool (Dienstprogramm) suchen, das von Nicht-Entwicklern verwendet werden kann?

Auf jeden Fall sind hier einige spezielle Tools einschließlich Motoren, die sie verwenden:

  1. Tabula (Open-Source, speziell entwickelt, um Daten aus Tabellen in PDF zu extrahieren Shell-Skripten für die Stapelverarbeitung exportieren, läuft als localhost Web. Service, angetrieben von JRuby Tabula engine)
  2. Viet OCR (Open-Source-.NET-Desktop-Dienstprogramm für Textextraktion aus PDF und Bildern, basierend auf tesseract oct engine)
  3. Bytescout PDF Viewer (Freeware Closed-Source-.NET-Dienstprogramm erkennt und extrac ts Tabellen, einschließlich gescannten Rechnungen, angetrieben durch PDF Extractor SDK)

HAFTUNGSAUSSCHLUSS: Ich arbeite für ByteScout.

Verwandte Themen