web-dev-qa-db-fra.com

Comment créer PDF avec des pages numérisées mais du texte sélectionnable?

Aujourd'hui, j'ai reçu un PDF de notre fournisseur. Celui-ci contenait plusieurs pages imprimées et numérisées portant des signatures, etc. Je l'ai ouvert dans Acrobat Reader DC. Mais à ma grande surprise, le texte des images clairement numérisées a pu être sélectionné et copié en tant que texte. Voir la capture d'écran:

 PDF scanned with selectable text

Il y a évidemment un peu de ROC derrière cela, car le texte copié contient des erreurs. Mais comment est-ce possible? Je n'ai jamais vu cela auparavant, comment cela peut-il être créé?

31
Vojtěch Dohnal

Ceci (contrairement à d'autres réponses ici) n'a probablement rien à voir avec Acrobat.

La plupart (tous?!) Des scanneurs de documents professionnels et semi-professionnels effectuent automatiquement la ROC lorsque vous choisissez "Enregistrer au format PDF" et cochez la case "Recherche" dans les paramètres. Les modèles «grand public» moins chers feront l’OCR sur le PC connecté, les scanners réseau classiques le font en interne.

Le mot "interrogeable" ne signifie ni plus ni moins que le scanner effectuera une OCR, générera ensuite une page contenant les bitmaps numérisés, et les superposera avec des caractères invisibles de l'OCR, chacun placé sur le caractère respectif du bitmap.

De cette façon, vous pouvez rechercher, mais aussi sélectionner, copier et coller le "bitmap" comme par magie. Ce n'est pas du tout magique. En réalité, vous ne faites que copier du texte invisible.

Le scanner peut également effectuer des tâches magiques supplémentaires, telles que la composition de la grande image à partir de nombreuses petites mosaïques, qui sont également réutilisées. Cela se traduit par une taille de document beaucoup plus petite que ce qui serait réellement possible, mais peut également entraîner de drôles surprises (pas si marrant si cela vous arrive!), Comme le Xerox modifie l'historique de vos factures , ironiquement, même en l'absence de ROC est fait, en fonction du firmware.

53
Damon

Mais comment est-ce possible?

Fondamentalement, un programme effectue une OCR sur le fichier d'entrée, puis place une couche invisible de texte sur l'image. Vous pouvez également placer une couche de texte visible sous l'image, donnant le même effet.

Lorsque vous sélectionnez quelque chose, l'image n'a pas d'importance, car le calque de texte est sélectionné.

comment cela peut-il être créé?

Il y a plusieurs façons. Étant donné qu'Acrobat a déjà été suggéré, j'ajouterai des options gratuites (et heureusement, vous n'êtes pas obligé d'avoir Windows pour les utiliser).

PDF-XChange Viewer

Ceci est un programme logiciel Windows natif de Tracker Software . La version gratuite fonctionne sous Wine si vous utilisez l’édition 32 bits avec un préfixe 32 bits, donc vous pouvez l’utiliser sous Windows, macOS et Linux. . Dans les deux derniers cas, vous auriez besoin respectivement de PlayOnMac ou de PlayOnLinux.

Voici une image de cette réponse je suis partie sur Ask Ubuntu:

Screenshot of PDF-XChange Viewer under Wine

OCRmyPDF

Ceci est un programme multiplateforme écrit en Python , basé sur Ghostscript, Tesseract et Unpaper. Dans la documentation:

Que fait OCRmyPDF?

OCRmyPDF analyse chaque page d'un PDF pour déterminer l'espace colorimétrique et la résolution (DPI) nécessaires pour capturer toutes les informations de cette page sans perte de contenu. Il utilise Ghostscript pour pixelliser la page, puis effectue une OCR sur l’image pixellisée pour créer un «calque» OCR. La couche est ensuite greffée sur le fichier PDF d'origine.

Il peut être facilement installé sur les dérivés de Debian et Ubuntu:

apt-get install ocrmypdf

Ou sur macOS:

brew tap jbarlow83/ocrmypdf
brew install ocrmypdf

Sous Windows, vous devez utiliser l'image Docker. Voir la documentation officielle pour plus de détails.

L'utilisation est très simple et je vous suggère d'utiliser les paramètres optionnels -dredressement) et -c (nettoyage) pour de meilleurs résultats. Il rectifiera chaque page et éliminera les petits points/imperfections avant d'exécuter le processus d'OCR.

Vous pouvez (et devriez) fournir la langue avec -l.

Voici un exemple tiré de _ (ce document biaisé écrit en italien:

Example for OCRmyPDF

La commande que j'ai utilisée était:

ocrmypdf -l ita -d -c input.pdf output.pdf

Outils en ligne

Il existe quelques outils en ligne qui font la même chose. Il est à noter que PDF24 héberge une version Web gratuite d’OCRmyPDF qui peut être utilisée sans limitation.

Voir également:

9
Andrea Lazzarotto

C’est peut-être à cause d’une fonction OCR d’Acrobat :

Acrobat peut reconnaître du texte dans tout PDF ou un fichier image dans des dizaines de langues. Tout ce que vous avez à faire est d'ouvrir le document ou l'image numérisé que vous souhaitez utiliser pour l'OCR, puis de cliquer sur le bouton bleu Outils en haut à droite de la barre d'outils. Dans cette barre latérale, sélectionnez l'onglet Reconnaître le texte, puis cliquez sur le bouton Dans ce fichier.

...

Avec le texte reconnu, vous pouvez maintenant baliser le PDF en utilisant tous les outils de balisage habituels - vous pouvez mettre en surbrillance, rayer du texte, etc. . Vous pouvez même copier le texte avec le formatage détecté, bien que ce soit souvent moins précis que la reconnaissance de texte elle-même.

4
duDE

De Site Web d'Adobe

Reconnaître le texte dans un fichier numérisé PDF

Lorsque vous numérisez des documents papier au format PDF, vous ne prenez que des photos de ces documents. C’est formidable pour les photos et autres images imprimées, mais que se passe-t-il si vous avez un document de 200 pages dans lequel vous devez trouver un mot ou une phrase en particulier? Utilisez Acrobat pour reconnaître le texte de ce fichier numérisé, ce qui permet de rechercher et d'utiliser le contenu du texte.

  1. Le document numérisé étant ouvert dans Acrobat, ouvrez le volet Outils et développez le panneau Reconnaissance de texte. Si vous ne pouvez pas voir «Reconnaissance du texte» dans le volet Outils, vous pouvez l’ajouter en sélectionnant le menu situé dans le coin supérieur droit (image ci-dessous - voyez où pointe cette petite flèche rouge? Cliquez ici).
  2. Cliquez sur «Dans ce fichier» pour numériser le document que vous avez ouvert. Vous pouvez simplement accepter les paramètres par défaut et cliquer sur «OK» lorsque la boîte de dialogue Reconnaître le texte apparaît. Acrobat convertira l'image en texte utilisable; pour le tester, essayez simplement de modifier un mot ou une phrase à l'aide du panneau d'édition du contenu. N’est-ce pas génial!?
3
Máté Juhász