Je recherche un outil scriptable hors ligne qui permet de rechercher un fichier PDF existant en exécutant l'OCR sur celui-ci, en remplaçant le fichier d'origine non consultable par la version consultable, et peut fonctionner sans surveillance.
Par exemple, www.pdfscannerapp.com - fait exactement ce dont j'ai besoin, mais c'est uniquement une interface graphique - pas scriptable.
Je sais qu'Evernote rend les fichiers PDF consultables, mais ils ne peuvent être recherchés que lorsqu'ils sont dans Evernote.
Je ne recherche pas une OCR parfaite, même une OCR modérément acceptable convient, mais je préférerais un petit utilitaire plutôt qu'un gros logiciel.
(Je connais une question similaire, mais différente sur AD: à la recherche de logiciels à numériser ou à convertir en PDF consultable et signable - cependant, je n'ai pas besoin de signer ou de remplir des PDF, et mon exigence est que la solution soit scriptable)
ÉDITER:
1) Plusieurs utilitaires permettent l'extraction de texte structuré, mais pour être extrait, le texte doit être là; Je me réfère principalement aux PDF qui sont des bitmaps enveloppés, comme c'est le cas avec les PDF simples générés par les scanners.
2) Je ne recherche pas nécessairement une solution gratuite, et je serais plus qu'heureux de payer pour un bon utilitaire qui fait exactement ce dont j'ai besoin, mais je ne cherche pas des applications volumineuses avec un million de fonctionnalités qui incluent une fonction OCR mais dont le coût ne justifie pas de les acheter uniquement pour la fonctionnalité OCR.
3) Comme indiqué ci-dessus, je ne recherche pas une OCR parfaite, juste une OCR modérément acceptable. Malheureusement, d'après mon expérience, tesseract est vraiment en dessous de ce seuil. Je définis «modérément acceptable» un OCR qui peut, par exemple, OCR une facture de services publics afin qu'au moins le numéro de compte (numéro de client) soit reconnu correctement.
EDIT: "scriptable" ou "automatisable", c'est-à-dire pouvant être déclenché automatiquement et exécuté sans surveillance sans aucune intervention humaine.
Réponses:
Pour moi, ce n'est pas tout à fait clair quelles sont vos exigences pour pouvoir "script" cela à partir de la "ligne de commande".
Si vous parlez d'automatisation, cela est possible avec n'importe quel nombre d'utilitaires.
ABBYY FineReader Express + Clavier Maestro + Hazel
J'utilise ABBYY FineReader Express + Keyboard Maestro + Hazel comme ceci:
Hazel surveille un dossier donné pour tout nouveau PDF
si un PDF est trouvé, il est ouvert dans "ABBYY FineReader Express"
Keyboard Maestro automatise ensuite le processus de transformation du PDF en PDF interrogeable (OCR) et enregistre le fichier dans un répertoire différent.
Maintenant, si vous ne possédez pas déjà Hazel et Keyboard Maestro, vos coûts initiaux vont augmenter assez rapidement (même si je dépend tellement des deux que je les considère comme une bonne affaire).
Actions PDFPen + AppleScript + Dossier
Vous pouvez faire quelque chose de similaire avec PDFPen (ou PDFPenPro) et les actions de dossier et AppleScript. Voir https://gist.github.com/prenagha/1355037 pour un exemple.
Marco Arment a effectué une enquête sur les applications d'OCR pour Mac et a constaté que PDFPen avait d'excellents résultats et était facile à automatiser.
Une recherche google pour "PDFpen applescript OCR" permettra de trouver un certain nombre d'alternatives.
la source
Ce que vous voulez, c'est Tesseract OCR. Il s'agit d'un OCR open source géré par Google et prenant en charge une variété de plates-formes. Il possède également une interface de ligne de commande native. C'est exactement ce que vous recherchez et disponible à partir du projet de ports Mac ainsi que de homebrew .
Accueil du projet: https://github.com/tesseract-ocr
Comment installer sur OS X: http://blog.matt-swain.com/post/26419042500/installing-tesseract-ocr-on-mac-os-x-lion
Exemple d'utilisation:
tesseract -l eng input.pdf output
la source
Avertissement: PAS UNE SOLUTION OCR (mais cette réponse est toujours utile pour extraire le texte du pdf)
Il existe un projet Apache Software Foundation appelé Apache Tika :
Ils prennent en charge l'extraction de texte PDF à l'aide de PDFBox :
Et ils ont récemment ajouté le support de l' OCR (via Tesserac)
Pour une solution basée sur du texte, PDFBox rend très simple l'extraction de texte à partir d'un PDF:
pdfbox-app
package depuis https://pdfbox.apache.org/downloads.htmlexécutez la
ExtractText
commande dessus:java -jar pdfbox-app-xyzjar ExtractText myNiceBook.pdf myNiceBook.txt
Il a également d'autres options intéressantes que vous pouvez voir dans les documents ExtractText .
la source
Je recommanderais DEVONThink Pro Office . C'est une excellente application et a un très bon support AppleScript. Hélas, seule la version 'Pro Office' a la capacité OCR - vous devrez donc débourser 100 £ (150 $).
Ce serait exagéré si vous ne l'utilisez que pour l'OCR scripté - mais c'est une très bonne application.
[modifier] - ah relisez votre message - ce serait certainement exagéré!
Si vous voulez simplement l'OCR à partir du shell, vous pouvez essayer de parler à ABBY dont le moteur DEVON est sous licence:
http://www.abbyy-developers.com/en:tech:samples:commandline_ocr
la source
Vous pouvez rendre votre PDF existant consultable en le convertissant en fichier texte. Vous avez besoin d'au moins Imagemagick , Ghostscript (pour la conversion PDF) et l' outil OCR Tesseract .
Quelques exemples de ligne de commande:
Cela peut être étendu à vos besoins.
Pour installer les outils requis, sur OSX vous pouvez l'installer via Homebrew :
Sous Linux, utilisez
apt-get
ou à layum
place debrew
.Pour plus d'outils OCR, consultez: OCR sur les systèmes Linux
En relation:
la source
OCRmyPDF est une solution facilement implémentable et fournissant un fichier PDF de sortie avec la même qualité de fichier d'entrée et une taille raisonnable:
https://github.com/jbarlow83/OCRmyPDF
la source
Stackoverflow a des questions connexes sous analyse PDF couvrant des choses telles que PDFBox et TIKA d'Apache que la PDFBox utilise. Le code ruby ci-dessous extrait l'écriture du PDF. Vous devez avoir une résolution suffisamment bonne pour que ce type de codes fonctionne correctement. Obtenez donc un scanner suffisamment bon avec une grande résolution et voyez si certains logiciels fonctionnent.
Exemples
Fils SO
/programming/5217783/pdf-parse-to-text-in-java
/programming/8149179/alternative-to-tika-pdfbox-for-parsing-pdf-in-solr-any-version-later-than-1-4
/programming/320621/ruby-pdf-parsing-gem-library
/programming/15186740/haskell-parsing-reading-content-of-pdf-files
[Éditer]
Je ne sais pas si j'ai compris votre problème maintenant. Vous souhaitez ajouter une couche OCR à différents types de documents tels que des photos aléatoires, des captures d'écran, des PDF sans couche OCR, etc.? Je ne connais pas la solution mais je suis sûr que quelqu'un sait donc posé une question spécifique comment le faire avec Automator et certains logiciels OCR:
Automator-script avec un logiciel OCR pour ajouter automatiquement l'OCR au matériel?
la source
Pour ce type d'application autogérée, je suis un grand fan de Hazel.
Il est extrêmement facile de scripter des actions sans avoir besoin d'apprendre un outil plus orienté ligne de commande comme perl ou python et couplé avec le moteur OCR de votre choix (le mien est actuellement PDF Pen Pro), vous ne devriez avoir aucun problème à traiter vos fichiers avec un minimum agitation.
Les deux sont des logiciels payants, mais l'utilité des deux s'étend bien au-delà de ce cas. Dans ma situation, avec le travail impliqué dans la numérisation de mes anciens enregistrements numérisés (et du papier en cours), le prix de ceux-ci dépasse de loin le temps que j'aurais passé à programmer cela ailleurs et maintenant que je possède les deux outils, je peux effectuer de nombreuses autres tâches avec leur.
la source
PDFScannerApp a un support de script non officiel. Contactez l'auteur pour l'action Automator.
la source
J'utilise Adobe acrobat pour l'OCR en lot. Mon scanner recto verso peut l'OCR après la numérisation, mais la technologie OCR dans acrobat est plus précise à mon avis. Je pointe simplement vers ce dossier qui n'a pas d'OCR, puis acrobat enregistre le PDF en tant que PDF consultable comprenant maintenant une couche de texte. Si je voulais l'OCR via la ligne de commande, je ne connais pas de moyen mais je peux automatiser la fin de l'interface graphique en utilisant Autohotkey. Pas aussi fiable ni rapide que la ligne de commande, mais il fait le travail après avoir configuré une action de flux de travail pour minimiser l'interaction GUI.
Pour Mac, le script Apple fait ce que fait Autohotkey sur le PC même si je n'ai pas encore essayé sur mon Mac.
La touche de raccourci automatique est livrée avec un enregistreur, donc la plupart de l'écriture de script est un dîner pour vous avec un peu plus petit d'édition pour le raffinement et peut-être une boucle si vous le souhaitez.
J'ai expérimenté des images OCRing, mais je n'ai pas encore entièrement automatisé le processus via acrobat. La ligne de commande est idéale mais je n'ai pas trouvé de moteur OCR de qualité qui dépasse acrobat, donc je reste avec acrobat pour l'instant.
la source
Je suis tombé dessus récemment: http://ocrkit.com/faq.html
Vous devez cependant payer après 14 jours
la source
J'ai obtenu une conversion Drag & Drop de haute qualité en utilisant Docker.
Si vous:
"as arguments"
/bin/bash
texte du script:Vous devriez alors être bon de glisser-déposer des PDF dessus et vous obtiendrez un PDF de même nom avec "-ocr" ajouté au nom du fichier.
J'imagine qu'il pourrait être facilement modifié pour renvoyer un fichier à Automator pour le copier quelque part également. Plus de détails sur le package de docker OCRmyPDF. et outil principal (également mentionné dans une réponse différente).
Vous pouvez le tester dans Automator lui-même avec l'action "Obtenir les éléments du Finder spécifiés" en entrée.
La première fois qu'il s'exécute, cela prend plus de temps car il devra télécharger les images Docker pour OCRmyPDF (de manière invisible). Dans Terminal, vous pouvez également exécuter
docker pull jbarlow83/ocrmypdf
pour accélérer la première exécution. Une exécution typique prend environ 10 secondes par page PPP élevée, mais a automatiquement des résultats de conversion de texte en texte même s'il existe des tableaux ou des diagrammes. Avant d'OCRing, je recadre en utilisant Sejda afin que les mots de marge absurdes des autres pages soient supprimés.L'
--force-ocr
argument indique à l'outil d'ignorer et d'écraser toutes les tentatives d'OCR antérieures, qui dans mes cas ne sont généralement que partielles et inutiles.la source
OCRKit prend en charge AppleScript et une CLI. Depuis leur page d'aide :
la source