L'OCR des documents scannés
Un PDF n'est pas toujours du texte. Un livre scanné, un acte notarié, une archive ancienne, une page photographiée : ce sont des images de texte, et tout outil qui lit la « couche texte » d'un PDF n'y trouve rien.
Les PDF avec couche texte fonctionnent déjà sans OCR. On installe un moteur pour une seule raison : lire les scans et les images.
Deux moteurs, un seul métier
Réglages → OCR. Vous en choisissez un, vous l'installez une fois, et il tourne sur votre machine comme tout le reste ici.

| Moteur | Poids | Exige | Idéal pour |
|---|---|---|---|
| RapidOCR (léger) | ~200 Mo | pas de GPU | les PDF courants, rapide et gratuit |
| MinerU (puissance) | gros téléchargement | un GPU · une licence Engramm | la mise en page, les tableaux et les formules restitués intacts |
Chaque ligne porte son état et ses commandes : Installer, puis Prêt, un bouton Tester qui lance le moteur sur un document et vous montre ce qu'il a réellement lu, et un Supprimer qui retire tout l'environnement de votre disque.
Un prérequis que l'application ne peut pas installer à votre place, et qui est écrit sur la page : Python 3.10+ doit exister sur la machine.
L'installation va jusqu'au bout de l'installation
Installer un moteur, ce n'est pas un téléchargement mais une chaîne, et la page nomme l'étape en cours : préparation de l'environnement · installation des dépendances · téléchargement du runtime GPU · installation du moteur OCR · téléchargement des modèles OCR · finalisation.
L'avant-dernière étape existe à cause d'un vrai piège. MinerU allait chercher ses modèles de détection paresseusement, au premier PDF scanné qu'on lui donnait, ce qui transformait un mardi après-midi ordinaire en dix minutes d'attente sans explication. Les modèles sont désormais tirés pendant l'installation : Prêt veut dire prêt.
Sans moteur, un scan reste invisible (exprès)
L'application a délibérément changé d'avis sur ce point.
Un PDF scanné dans un dossier surveillé n'est pas indexé du tout : aucune chronique, aucun vecteur, rien qui puisse être rappelé. Il est enregistré comme en attente, et la page OCR les compte à voix haute :
N PDF scannés dans tes vaults ne sont PAS indexés — ils n'ont pas de couche texte et aucun moteur ne peut les lire. Ils seront lus automatiquement dès qu'un moteur sera installé.
La version précédente rangeait un substitut trouvable par son nom de fichier. Ça ressemble à une réussite et ça se comporte comme un mensonge : un souvenir en forme de nom de fichier se fait rappeler pour des questions auxquelles il ne peut pas répondre, et la réponse revient assurée et vide. Refuser d'indexer est la moitié honnête d'un vrai compromis, et le prix est que votre document est invisible jusqu'à ce que l'OCR arrive.
Et quand il arrive, vous n'avez rien à traquer : installer un moteur relit automatiquement tous les fichiers en attente, et le compteur tombe à zéro.
Comment il décide, dans le chat et le lecteur
- Un PDF : la couche texte est lue d'abord. En dessous de 16
caractères de vrai texte, c'est un scan, et l'OCR prend le relais. Les
marqueurs de page du type
-- 3 of 516 --sont retirés avant ce décompte, parce qu'ils faisaient passer un scan de 516 pages pour un PDF texte, et le lecteur lisait consciencieusement les numéros de page à voix haute. - Une image (PNG, JPG, WEBP, BMP, TIFF) part directement à l'OCR.
- Aucun moteur installé : vous recevez une phrase qui vous le dit.
Un document scanné est lu par fenêtres de 20 pages plutôt qu'en un seul appel interminable. L'en-tête affiche une vraie progression, et le moteur revient entre deux fenêtres au lieu d'être monopolisé une heure. Il ne sert qu'une requête à la fois, donc un long OCR gelait tous les autres.
Jusqu'où il lit dépend de qui demande. Un document joint dans le chat s'arrête à 60 pages, parce que ce chemin plafonne son texte de toute façon. Un livre importé dans MnemoReader est lu jusqu'à sa dernière page, borné à 2000 pour qu'un fichier corrompu s'arrête quand même. Un PDF qui a déjà une couche texte n'a aucun plafond.
OCR approfondi, quand la couche texte ment
Certains scans arrivent avec une couche texte incorporée qui est déjà un mauvais OCR, fait il y a des années par celui qui a numérisé le livre. Elle passe le test des 16 caractères, donc rien ne bascule, et le texte est du charabia.
MnemoReader a le bouton pour ce cas : OCR approfondi, refaire un vrai OCR de chaque page (lent, meilleure qualité qu'une couche de texte incorporée). Il ignore complètement le texte incorporé et relit les images des pages.
Une fois un scan lu, c'est du texte comme un autre : il coule dans DocWatch et vos coffres, se fait vectoriser, et répond aux questions comme une note que vous auriez tapée vous-même.