Ich suche nach einem Offline-Skript-Tool, mit dem eine vorhandene PDF-Datei durchsuchbar wird, indem OCR darauf ausgeführt wird, die ursprüngliche nicht durchsuchbare Datei durch die durchsuchbare Version ersetzt wird und das unbeaufsichtigt ausgeführt werden kann.
ZB www.pdfscannerapp.com - macht genau das, was ich brauche, aber es ist nur GUI - nicht skriptfähig.
Mir ist bekannt, dass Evernote PDF-Dateien durchsuchbar macht, aber sie bleiben nur in Evernote durchsuchbar.
Ich bin nicht auf der Suche nach perfekter Texterkennung, auch eine mäßig akzeptable Texterkennung ist in Ordnung, aber ich würde ein kleines Dienstprogramm einem sperrigen Softwarepaket vorziehen.
(Ich kenne eine ähnliche, aber andere Frage zu AD: Auf der Suche nach Software zum Scannen oder Konvertieren in durchsuchbare und signierbare PDF-Dateien . Ich muss jedoch keine PDF-Dateien signieren oder ausfüllen, und meine Anforderung ist, dass die Lösung skriptfähig ist.)
BEARBEITEN:
1) Mehrere Dienstprogramme ermöglichen die Extraktion von strukturiertem Text. Um jedoch extrahiert zu werden, muss der Text vorhanden sein. Ich beziehe mich hauptsächlich auf PDFs, bei denen es sich um um umbrochene Bitmaps handelt, wie dies bei einfachen PDFs der Fall ist, die von Scannern generiert wurden.
2) Ich bin nicht unbedingt auf der Suche nach einer kostenlosen Lösung und würde gerne für ein gutes Dienstprogramm bezahlen, das genau das tut, was ich brauche, aber ich bin nicht auf der Suche nach umfangreichen Anwendungen mit einer Million Funktionen, die aber eine OCR-Funktion enthalten Wessen Kosten rechtfertigen den Kauf nicht nur für die OCR-Funktionalität.
3) Wie oben erwähnt, suche ich keine perfekte Texterkennung, sondern nur eine mäßig akzeptable Texterkennung. Leider liegt Tesseract meiner Erfahrung nach tatsächlich unter dieser Schwelle. Ich definiere "mäßig akzeptabel" eine OCR, die beispielsweise eine Nebenkostenabrechnung erkennen kann, so dass mindestens die Kontonummer (Kundennummer) korrekt erkannt wird.
BEARBEITEN: "skriptfähig" oder "automatisierbar", dh es kann automatisch ausgelöst und unbeaufsichtigt ohne menschliche Eingaben ausgeführt werden.
Antworten:
Mir ist nicht ganz klar, was Ihre Anforderungen sind, um dies von der "Kommandozeile" aus "skripten" zu können.
Wenn Sie über Automatisierung sprechen, ist dies mit einer beliebigen Anzahl von Dienstprogrammen möglich.
ABBYY FineReader Express + Keyboard Maestro + Hazel
Ich benutze ABBYY FineReader Express + Keyboard Maestro + Hazel wie folgt:
Hazel überwacht einen bestimmten Ordner auf neue PDFs
Wird ein PDF gefunden, wird es in "ABBYY FineReader Express" geöffnet.
Keyboard Maestro automatisiert dann das Umwandeln der PDF-Datei in eine durchsuchbare PDF-Datei (Searchable PDF, OCR) und speichert die Datei in einem anderen Verzeichnis.
Wenn Sie Hazel und Keyboard Maestro noch nicht besitzen, werden Ihre anfänglichen Kosten ziemlich schnell steigen (obwohl ich so sehr von beiden abhängig bin, dass ich sie für ein Schnäppchen halte).
PDFPen + AppleScript + Ordneraktionen
Sie könnten etwas Ähnliches mit PDFPen (oder PDFPenPro) und Ordneraktionen und AppleScript tun. Ein Beispiel finden Sie unter https://gist.github.com/prenagha/1355037 .
Marco Arment hat eine Umfrage unter OCR-Apps für Mac durchgeführt und festgestellt, dass PDFPen hervorragende Ergebnisse erzielt und einfach zu automatisieren ist.
Eine Google-Suche nach "PDFpen Applescript OCR" wird eine Reihe von Alternativen aufzeigen.
quelle
Was Sie wollen, ist Tesseract OCR. Es ist eine Open-Source-OCR, die von Google verwaltet wird und eine Vielzahl von Plattformen unterstützt. Es hat auch eine native Befehlszeilenschnittstelle. Es ist genau das, was Sie suchen und es ist sowohl im Mac-Ports-Projekt als auch im Homebrew erhältlich .
Projekt-Startseite: https://github.com/tesseract-ocr
So installieren Sie unter OS X: http://blog.matt-swain.com/post/26419042500/installing-tesseract-ocr-on-mac-os-x-lion
Anwendungsbeispiel:
tesseract -l eng input.pdf output
quelle
Haftungsausschluss: KEINE OCR-LÖSUNG (aber diese Antwort ist immer noch nützlich, um Text aus PDF zu extrahieren)
Es gibt ein Apache Software Foundation-Projekt namens Apache Tika :
Sie unterstützen die PDF- Textextraktion mit PDFBox :
Und sie haben kürzlich auch Unterstützung für OCR hinzugefügt (über Tesserac)
Bei einer textbasierten Lösung ist es mit PDFBox sehr einfach, Text aus einer PDF-Datei zu extrahieren:
pdfbox-app
Paket von https://pdfbox.apache.org/downloads.html herunterführe den
ExtractText
Befehl darauf aus:java -jar pdfbox-app-xyzjar ExtractText myNiceBook.pdf myNiceBook.txt
Es hat auch einige andere nette Optionen, die Sie in ExtractText-Dokumenten sehen können .
quelle
Ich würde DEVONThink Pro Office empfehlen . Es ist eine ausgezeichnete Anwendung und hat eine sehr gute AppleScript-Unterstützung. Leider verfügt nur die 'Pro Office'-Version über die OCR-Funktion - Sie müssen also £ 100 ($ 150) bezahlen.
Es wäre übertrieben, wenn Sie es nur für skriptgesteuerte Texterkennung verwenden würden - aber es ist eine sehr gute App.
[edit] - ah, lies einfach deinen Beitrag noch einmal durch - es wäre definitiv übertrieben!
Wenn Sie nur OCR von der Shell möchten, können Sie versuchen, mit ABBY zu sprechen, dessen Engine DEVON lizenziert:
http://www.abbyy-developers.com/de:tech:samples:commandline_ocr
quelle
Sie können Ihre vorhandene PDF-Datei durchsuchbar machen, indem Sie sie in eine Textdatei konvertieren. Sie benötigen dafür mindestens Imagemagick , Ghostscript (für PDF-Konvertierung) und Tesseract OCR-Tool.
Einige Befehlszeilenbeispiele:
Dies kann weiter auf Ihre Bedürfnisse erweitert werden.
Um die erforderlichen Tools zu installieren, können Sie sie unter OSX über Homebrew installieren :
Verwenden Sie unter Linux
apt-get
oderyum
anstelle vonbrew
.Weitere OCR-Tools finden Sie unter: OCR auf Linux-Systemen
Verbunden:
quelle
Eine Lösung, die einfach zu implementieren ist und ein Ausgabe-PDF mit der gleichen Qualität der Eingabedatei sowie einer angemessenen Größe bietet, ist OCRmyPDF:
https://github.com/jbarlow83/OCRmyPDF
quelle
Stackoverflow hat unter PDF-Parsing verwandte Fragen, die sich mit Dingen wie PDFBox und Apaches TIKA befassen, die die PDFBox verwendet. Der Ruby-Code unten extrahiert das Schreiben aus PDF. Sie müssen über eine ausreichende Auflösung verfügen, damit diese Art von Codes zuverlässig funktioniert. Holen Sie sich also einen ausreichend guten Scanner mit hoher Auflösung und prüfen Sie, ob einige der Programme funktionieren.
Beispiele
SO Fäden
/programming/5217783/pdf-parse-to-text-in-java
/programming/8149179/alternative-to-tika-pdfbox-for-parsing-pdf-in-solr-any-version-lateran-1-4
/programming/320621/ruby-pdf-parsing-gem-library
/programming/15186740/haskell-parsing-reading-content-of-pdf-files
[Bearbeiten]
Ich bin mir nicht sicher, ob ich Ihr Problem jetzt verstanden habe. Sie möchten verschiedene Arten von Material wie zufällige Fotos, Screenshots, PDFs ohne OCR-Ebene und so weiter OCR-Ebene hinzufügen? Ich kenne die Lösung nicht, aber ich bin mir sicher, dass jemand eine spezielle Frage zu Automator und einer OCR-Software gestellt hat:
Automator-Skript mit einer OCR-Software zum automatischen Hinzufügen von OCR zum Material?
quelle
Für diese Art der selbstgesteuerten Anwendung bin ich ein großer Fan von Hazel.
Es macht es extrem einfach, Aktionen zu skripten, ohne dass Sie ein stärker auf die Befehlszeile ausgerichtetes Tool wie Perl oder Python erlernen müssen. In Verbindung mit der OCR-Engine Ihrer Wahl (meine ist derzeit PDF Pen Pro) sollten Sie keine Probleme haben, Ihre Dateien mit minimalem Aufwand zu verarbeiten Aufregung.
Beide sind kostenpflichtige Software, aber die Nützlichkeit beider geht weit über diesen einen Fall hinaus. In meiner Situation überwiegt der Preis für die Digitalisierung meiner gescannten Aufzeichnungen (und des laufenden Papiers) bei weitem die Zeit, die ich für die Programmierung an anderer Stelle aufgewendet hätte, und jetzt, da ich beide Tools besitze, kann ich viele andere Aufgaben erledigen Sie.
quelle
PDFScannerApp verfügt über eine inoffizielle Skriptunterstützung . Kontaktieren Sie den Autor für die Automator-Aktion.
quelle
Ich verwende Adobe Acrobat zum OCR im Batch. Mein Duplex-Scanner kann OCR nach dem Scannen ausführen, aber die OCR-Technologie in Acrobat ist meiner Meinung nach genauer. Ich zeige nur auf den Ordner, der keine OCR hat. Acrobat speichert dann die PDF-Datei als durchsuchbare PDF-Datei, die jetzt eine Textebene enthält. Wenn ich über die Befehlszeile OCR ausführen wollte, kenne ich keinen Weg, aber ich kann das GUI-Ende mithilfe von Autohotkey automatisieren. Nicht so zuverlässig und nicht so schnell wie die Befehlszeile, erledigt aber die Aufgabe, nachdem Sie eine Workflow-Aktion eingerichtet haben, um die GUI-Interaktion zu minimieren.
Für Macs funktioniert Apple Script wie Autohotkey auf dem PC, obwohl ich es auf meinem Mac noch nicht ausprobiert habe.
Der Auto-Hot-Key ist mit einem Recorder ausgestattet, sodass der Großteil des Drehbuchschreibens ein Abendessen für Sie darstellt.
Ich habe mit OCR-Bildern experimentiert, den Vorgang jedoch noch nicht vollständig mit Acrobat automatisiert. Die Befehlszeile ist ideal, aber ich habe noch keine hochwertige OCR-Engine gefunden, die Acrobat übersteigt. Deshalb halte ich mich vorerst an Acrobat.
quelle
Ich bin kürzlich darauf gestoßen: http://ocrkit.com/faq.html
Sie müssen jedoch nach 14 Tagen bezahlen
quelle
Ich habe eine hochwertige Drag & Drop-Konvertierung mit Docker erhalten.
Wenn du:
"as arguments"
/bin/bash
Skripttext:In diesem Fall sollten Sie PDF-Dateien per Drag-and-Drop ablegen können. Anschließend wird eine PDF-Datei mit dem Namen "-ocr" an den Dateinamen angehängt.
Ich stelle mir vor, es könnte leicht modifiziert werden, eine Datei an Automator zurückzugeben, um sie auch irgendwo zu kopieren. Weitere Details zum OCRmyPDF Docker-Paket. und Hauptwerkzeug (auch in einer anderen Antwort erwähnt).
Sie können es in Automator selbst mit der Aktion "Bestimmte Finder-Elemente abrufen" als Eingabe für diese Aktion testen.
Bei der ersten Ausführung wird mehr Zeit benötigt, da Docker-Images für OCRmyPDF (unsichtbar) heruntergeladen werden müssen. Im Terminal können Sie alternativ auch laufen
docker pull jbarlow83/ocrmypdf
, um den ersten Lauf zu beschleunigen. Ein typischer Durchlauf dauert etwa 10 Sekunden pro hochauflösender Seite, führt jedoch automatisch zu Ergebnissen, die von Text in Sprache umgewandelt werden können, selbst wenn Tabellen oder Diagramme vorhanden sind. Vor dem OCR-Vorgang beschneide ich mit Sejda, damit unsinnige Randwörter von anderen Seiten entfernt werden.Das
--force-ocr
Argument weist das Tool an, alle früheren OCR-Versuche zu ignorieren und zu überschreiben, die in meinen Fällen normalerweise nur teilweise und unbrauchbar sind.quelle
OCRKit unterstützt sowohl AppleScript als auch eine CLI. Von ihrer Hilfeseite :
quelle