Gewusst wie: extrahieren/erkennen von text aus Dokumenten?
Muss ich extrahieren einfachen text aus hochgeladenen Dokumente, um Sie durchsuchbar zu gestalten. Dokumente MS-Word-oder pdf-Format (entweder gescannt oder mit text). Die Applikation läuft auf einem LAMP-stack, aber die Installation anderer software eine option sein könnte. Gibt es irgendein tool, service, Bibliothek oder einer Kombination von diesen, dass Sie empfehlen könnte, diese Aufgabe zu erfüllen?
- Für gescannte Dokumente, die ich denke, Sie brauchen ein bisschen von OCR
- Extrahieren von text aus alt-Stil .doc-Dateien ist eine schwere Schmerzen. Sie sind nicht gedacht, um einfach HIERFÜR gültigen. .docx ist etwas leichter, als Sie sind, nur RV .xml-Dateien für die meisten Teil.
- Ich weiß. Ich nicht zu erwähnen ausdrücklich, weil ich annahm, es war offensichtlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine Kombination von shell-utilities wie
pdftotext
für PDF-Dateien,wvWare
für DOCs,docx2txt.pl
für DOCX ist, wie die textractor rubygem tut.Gibt es auch native php-Klassen für das extrahieren PDF und docx.
Anderen rubygem, die sogar OCR für Sie, obwohl Tesseract, ist docsplit.
Könnte es eine gute Idee zu prüfen, Solr für die Indizierung und Suche. Sie können die Solr Cell plugin zum indizieren und durchsuchen von Word-Dokumenten, PDF-Dateien und mehr. Ich verwende es erfolgreich in eins meiner Projekte. Solr Cell basiert auf mehreren Projekten wie Apache POI, Tika und PDFBox.
Der schwierige Teil ist, um alle Zell-abhängigen jars und solr-schema, und um herauszufinden, die Indizierung request-Parameter, sondern alles gedacht werden kann, aus der wiki Dokumentation. Hier meine Gläser und schema, um Ihnen den Einstieg, den relevanten Teil des Schemas ist die Zeile mit "Anlage".
Solr Zelle nicht tun, OCR, obwohl. Müssen Sie eine OCR-Engine zuerst, Sie durchsuchbar zu machen.
Für OCR können Sie die OpenSource-Engine Tesseract, welches von Google entwickelt oder wollen Sie vielleicht einen Blick auf die kommerziellen engine Abbyy. Beide kommen als Kommandozeilen-utils, die Sie ausführen können Ihre php-Skripte. Um die vergleichbare Ergebnisse Tesseract als von Abbyy, Sie haben zu tun, einige vor - und Nachbearbeitung Eins. Es gibt auch cloud-Dienste, die möglicherweise eine einfachere Möglichkeit. Zum Beispiel, Wisetrend und Abbyy Cloud. Letzteres ist in der beta im moment, so es ist kostenlos und es hat " ready-to-go PHP-code-Beispiele.
Soweit ich bin besorgt, es gibt nicht viel Sie tun können, mit OCR auf PHP. Die beste Lösung wäre die Verwendung eines cloud-service - ein web-api, mit der Sie ein Bild hochladen und senden Sie Sie zurück, ein OCR-Daten. Versuchen http://www.ocrsdk.com, es ist eine cloud-basierte OCR-SDK vor kurzem von ABBYY. Es ist jetzt in der beta also ist es völlig kostenlos zu benutzen und es hat " ready-to-go PHP-code-Beispiele. Disclamer: ich arbeite @ ABBYY
Ich kenne keine software, die konvertiert PDF zu text, aber für die MS-Word-Teil, können Sie die Apache POI: http://poi.apache.org/ das ist in JAVA so müssten Sie zum ausführen der Binärdatei aus Ihrer PHP-Datei, damit es funktioniert.
Weitere option ist die Verwendung der JODConverter (die ich derzeit benutze für diesen Zweck) http://code.google.com/p/jodconverter/
Also wenn der Apache POI funktioniert nicht, ich kenne den jodconverter tut. Ich bin mit der 3.0 beta.
In meinem PHP-code, ich bin speichern die Datei hochladen und ausführen der converter binary auf die Datei im tmp-Verzeichnis, erstellen Sie eine neue Datei in das tmp-Verzeichnis und ziehe ich den plain-text aus der neuen Datei.