35 votes

Rendre un PDF existant consultable (OCR) via la ligne de commande / script.

Je suis à la recherche d'un outil scriptable hors ligne qui rende un fichier PDF existant consultable par OCR, en remplaçant le fichier original non consultable par la version consultable, et qui puisse fonctionner sans surveillance.

Par exemple, www.pdfscannerapp.com - fait exactement ce dont j'ai besoin, mais c'est une interface graphique seulement - non scriptable.

Je sais qu'Evernote rend les fichiers PDF consultables, mais ils ne le sont que lorsqu'ils se trouvent dans Evernote.

Je ne cherche pas un OCR parfait, même un OCR modérément acceptable est bien, mais je préférerais un petit utilitaire plutôt qu'un progiciel encombrant.

(J'ai connaissance d'une question similaire, mais différente, sur AD : Recherche d'un logiciel pour 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)

EDIT :

1) Plusieurs utilitaires permettent d'extraire du texte structuré, mais pour être extrait, le texte doit être présent ; je fais principalement référence aux PDF qui sont des bitmaps enveloppés, comme c'est le cas des PDF simples générés par des scanners.

2) Je ne suis pas nécessairement à la recherche d'une solution gratuite, et je serais plus qu'heureux de payer pour un bon utilitaire qui fait juste ce dont j'ai besoin, mais je ne suis pas à la recherche d'applications encombrantes avec un million de fonctionnalités qui incluent une fonction OCR mais dont le coût ne justifie pas de les acheter juste pour la fonctionnalité OCR.

3) Comme indiqué ci-dessus, je ne cherche pas un ROC parfait, mais un ROC moyennement acceptable. Malheureusement, d'après mon expérience, tesseract est vraiment en dessous de ce seuil. Je définis comme "modérément acceptable" un OCR qui peut, par exemple, OCR une facture d'électricité de sorte qu'au moins le numéro de compte (numéro de client) est reconnu correctement.

EDIT : "scriptable" ou "automatable", c'est-à-dire capable d'être déclenché automatiquement et de fonctionner sans intervention humaine.

2 votes

...je ne sais pas si cela serait difficile à faire, mais l'OCR Tesseract est souvent mentionné. code.google.com/p/tesseract-ocr et l'OCR dans Unix.SE .

1 votes

Il y a une question similaire aquí La réponse correspond-elle à vos besoins ?

1 votes

Vous mentionnez l'OCR. Vos besoins incluent-ils la gestion des images dans les PDF, ou des fichiers PDF numérisés ? Pour les fichiers qui contiennent du texte sous forme de simple postscript, un convertisseur de PDF en texte comme "PDF2Text Pilot" pourrait vous convenir.

5voto

Diggory Points 708

Je recommande DEVONThink Pro Office . Il s'agit d'une excellente application, avec un très bon support AppleScript. Hélas, seule la version "Pro Office" est dotée de la fonction OCR - il vous faudra donc débourser 100 £ (150 $).

Ce serait une surcharge si vous ne l'utilisez que pour l'OCR scriptée - mais c'est une très bonne application.

[edit] - ah je viens de relire ton post - ce serait vraiment exagéré !

Si vous voulez seulement l'OCR à partir du shell, vous pouvez essayer de parler à ABBY dont le moteur est sous licence DEVON :

http://www.abbyy-developers.com/en:tech:samples:commandline_ocr

0 votes

Bien que le bureau DEVONThink Pro Office sous OS X soit une surcharge, il est intéressant. Si les développeurs l'ont conçu sur OS X et iOS, cela pourrait fonctionner (en gardant l'interface utilisateur plus simple) - savez-vous quelque chose de ce genre ? Cool idée cependant -- donc la version Pro ajoute automatiquement la couche OCR à toutes sortes de choses comme les captures d'écran et les PDFs ? Et l'utilisateur peut en quelque sorte "script" cela ?

2 votes

Oui - l'application dispose d'un bon dictionnaire AppleScript, qui vous permet, entre autres, de convertir les images stockées dans l'application en PDF consultables.

0 votes

Si je prends des photos avec l'iPhone ou des captures d'écran avec OS X et que je les place dans un dossier ProjectA, DEVONThink y ajoute-t-il automatiquement la couche OCR, même sans spécifier la langue ? Supposons que vous les déposiez dans une DropBox et que DEVONThink sous OSX vérifie automatiquement le dossier, vous pourriez alors travailler avec lui sous OS X et iOS ? C'est un concept fascinant s'il est bien réalisé... +1

1voto

hhh Points 3576

Stackoverflow a des questions connexes sous Analyse du PDF couvrant des choses comme PDFBox et TIKA d'Apache que PDFBox utilise. Le code ruby ci-dessous extrait l'écriture du PDF. Vous devez avoir une assez bonne résolution pour que ce type de code fonctionne de manière robuste. Donc, procurez-vous un scanner de bonne qualité avec une résolution élevée et voyez si certains logiciels fonctionnent.

Exemples

  1. https://github.com/yob/pdf-reader/tree/master/examples

Fils de SO

  1. https://stackoverflow.com/questions/5217783/pdf-parse-to-text-in-java

  2. https://stackoverflow.com/questions/8149179/alternative-to-tika-pdfbox-for-parsing-pdf-in-solr-any-version-later-than-1-4

  3. https://stackoverflow.com/questions/320621/ruby-pdf-parsing-gem-library

  4. https://stackoverflow.com/questions/15186740/haskell-parsing-reading-content-of-pdf-files

[Edit]

Je ne suis pas sûr d'avoir compris votre problème maintenant. Vous voulez ajouter une couche d'OCR à différents types de matériel tels que des photos aléatoires, des captures d'écran, des PDF sans couche d'OCR et ainsi de suite ? Je ne connais pas la solution mais je suis sûr que quelqu'un la connaît et j'ai donc posé une question spécifique sur la façon de le faire avec Automator et un logiciel d'OCR :

Automator-script avec un logiciel d'OCR pour ajouter automatiquement l'OCR au matériel ?

0 votes

Encore une fois : Je ne cherche pas à analyser ou à extraire du texte qui est déjà présent. Je cherche à reconnaître du texte (OCR) dans des fichiers PDF qui sont essentiellement des images, des bitmaps ; ils ne contiennent pas de texte à l'origine.

0 votes

@magma s'il vous plaît, voyez ma mise à jour. Vous voulez automatiser l'ajout d'une couche OCR afin de pouvoir effectuer des recherches sur différents types de documents, même sans "texte recherchable" ? Si vous pouviez faire cela, vous pourriez rechercher sur tous les documents dans le Finder - vous comprenez ? Je suis surpris qu'Apple ne fasse pas cela dans les prochaines mises à jour...

0 votes

Comme indiqué dans ma question, oui.

1voto

Oskar Points 1242

Pour ce type d'application autogérée, je suis un grand fan de Hazel.

Il permet de réaliser très facilement des actions script sans avoir besoin d'apprendre un outil plus orienté ligne de commande comme perl ou Python. Associé au moteur d'OCR de votre choix (le mien est actuellement PDF Pen Pro), vous ne devriez avoir aucun problème pour traiter vos fichiers avec un minimum d'efforts.

Ces deux logiciels sont payants, mais leur utilité va bien au-delà de ce cas précis. Dans ma situation, avec le travail nécessaire pour numériser mes anciens documents scannés (et le papier en cours), le prix de ces logiciels 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 eux.

1voto

thadk Points 221

J'ai obtenu une conversion Drag & Drop de haute qualité en utilisant Docker.

Si vous :

  1. installer Docker pour votre Mac y
  2. puis créez une nouvelle application Automator
  3. avec ce contenu à l'intérieur d'une action "Run a Shell script". Choisissez "Pass Input" : "as arguments"

/bin/bash script texte :

cd "`dirname "$1"`"
/usr/local/bin/docker run --rm -v "$(pwd):/home/docker" jbarlow83/OCRmyPDF --force-ocr "`basename "$1"`" "`basename -s .pdf "$1"`-ocr.pdf"

Vous devriez alors pouvoir y glisser et déposer des PDF et vous obtiendrez un PDF portant le même nom avec "-ocr" ajouté au nom du fichier.

J'imagine qu'il pourrait être facilement modifié pour renvoyer un fichier à Automator afin qu'il le copie quelque part. Plus de détails sur le paquet docker OCRmyPDF. y principal outil (également mentionné dans une autre réponse).

Vous pouvez le tester dans Automator lui-même avec l'action "Get specified Finder items" comme entrée.

La première fois qu'elle s'exécute, elle prend plus de temps car elle doit télécharger les images Docker pour OCRmyPDF (de manière invisible). Dans le Terminal, vous pouvez alternativement exécuter docker pull jbarlow83/ocrmypdf pour accélérer le premier passage. Une exécution typique prend environ 10 secondes par page à haute résolution (DPI), mais donne des résultats automatiquement lisibles, même s'il y a des tableaux ou des diagrammes. Avant l'OCRing, je recadre en utilisant Sejda afin que les mots de marge absurdes des autres pages soient supprimés.

El --force-ocr indique à l'outil d'ignorer et d'écraser toute tentative antérieure d'OCR, qui, dans mon cas, n'est généralement que partielle et inutile.

Edit 2022 : Cette alternative script permet de glisser plusieurs fichiers sur l'app pour les mettre en file d'attente et les océriser :

for f in "$@"
do
cd "`dirname "$f"`"
/usr/local/bin/docker run --rm -v "$(pwd):/app" jbarlow83/ocrmypdf --force-ocr "`basename "$f"`" "`basename -s .pdf "$f"`-ocr.pdf"
done

0voto

ndf Points 1

PDFScannerApp dispose d'un support non officiel pour les scripts. Contactez l'auteur pour l'action Automator.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X