PDF: vedi il testo ma la ricerca non lo trova? Ecco come risolvere

Il testo nel PDF si vede ma non si trova? Ecco perché succede e come renderlo ricercabile con OCR e strumenti gratuiti.

Apri un documento PDF, leggi perfettamente una frase sullo schermo, premi CTRL+F per attivare la funzione di ricerca testuale, digiti una parola che hai davanti agli occhi e il programma indica “nessuna occorrenza trovata”. Prima di proseguire, è importante selezionare quella parola con il mouse – direttamente nel PDF – e provare a copiarla nel Blocco note.

Se non riesci a selezionare nulla, potresti essere davanti a una scansione oppure a lettere trasformate in elementi grafici. Nel caso in cui si riuscisse a selezionare la frase ma, incollandola, comparissero strani simboli o caratteri differenti, il PDF contiene probabilmente testo ma presenta un problema di codifica. Se invece il testo copiato è corretto ma CTRL+F continua a non trovare determinate parole, entrano in gioco caratteri Unicode particolari, legature, spazi invisibili o una struttura interna del PDF poco convenzionale.

Con alcuni strumenti gratuiti si può scoprire in pochi minuti cosa contiene realmente il documento e, nella maggior parte dei casi, renderlo nuovamente ricercabile.

Primo test: provare selezione, copia e CTRL+F

Come anticipato nell’introduzione, è bene dapprima aprire il PDF con Chrome, Edge, Firefox, Adobe Acrobat Reader, Foxit Reader o con qualunque altro lettore per poi provare a selezionare con precisione una singola parola. Se il cursore evidenzia le singole lettere e le parole, esistono probabilmente degli oggetti testuali.

A questo punto si può premere CTRL+C e incollare il testo (CTRL+V) nel Blocco note di Windows (Windows+R, notepad).

Se, una volta incollata la frase, questa è leggibile esattamente come nel PDF, la rappresentazione Unicode è almeno in buona parte corretta. Se invece si ottenesse qualcosa come:

&RQILJXUD]LRQH GL :LQGRZV

oppure quadratini, simboli o lettere apparentemente casuali, il PDF riesce a mostrare correttamente i glifi, cioè le forme delle lettere, ma non fornisce al software una corrispondenza affidabile con i caratteri Unicode.

La terza possibilità è che nel PDF non risulti possibile selezionare assolutamente nulla: in questo caso bisogna capire se la pagina è un’immagine oppure se le lettere sono state convertite in elementi vettoriali.

Secondo test: ingrandire molto la pagina

Un altro suggerimento intelligente è portare lo zoom all’800%, 1200% o più. Se i bordi delle lettere iniziano a mostrare chiaramente i pixel, quasi certamente stai osservando un’immagine raster, quindi una scansione di un documento cartaceo.

Se le lettere rimangono perfettamente nitide ma non puoi selezionarle, potrebbe invece trattarsi di testo convertito in tracciati vettoriali. In altre parole, la lettera “A” non esiste più come carattere: è diventata semplicemente un insieme di linee e curve. Dal punto di vista di CTRL+F non c’è evidentemente nulla da cercare.

PDF24 Creator: probabilmente il modo più semplice su Windows

Per chi utilizza Windows, una delle soluzioni più pratiche è PDF24 Creator.

È gratuito, funziona in locale e comprende anche un modulo OCR: i file elaborati tramite PDF24 rimangono nel computer; il programma può riconoscere il testo contenuto in PDF e immagini e creare un nuovo PDF con un livello testuale ricercabile.

PDF24 Creator: schermata principale

Il caso tipico è un vecchio PDF proveniente da uno scanner. Si apre PDF24 Creator e si fa clic su OCR PDF, si seleziona la lingua italiana in alto a destra, si fa clic su “+” per aggiungere il documento da elaborare e si genera un nuovo documento.

La schermata OCR offre diverse opzioni utili per adattare il riconoscimento al tipo di documento. Tipi di modelli consente di scegliere il modello OCR da usare; nella maggior parte dei casi il valore Predefinito va bene. Lingua è molto importante: selezionare Italian migliora il riconoscimento di parole, accenti e dizionario rispetto a un modello generico o impostato su un’altra lingua.

Le altre impostazioni per riconoscere il testo con l’OCR

La Segmentazione stabilisce come il motore OCR deve interpretare la struttura della pagina: lasciando Automatico, PDF24 prova a distinguere autonomamente blocchi di testo, colonne e altre aree. Profilo applica eventuali impostazioni predefinite, mentre DPI indica la risoluzione usata durante l’elaborazione: 300 DPI rappresentano in genere un buon compromesso tra qualità del riconoscimento, velocità e dimensioni del file. Lavori definisce invece quanti processi possono lavorare in parallelo; aumentarlo può velocizzare l’OCR sui PC con più core, a costo di un maggiore utilizzo di CPU e memoria (anche per PDF24 consente di operare simultaneamente su una batteria di documenti da rendere ricercabili).

PDF24 OCR

Gestione del suffisso e delle opzioni per la memorizzazione del file

Con Salva suffisso file si decide il testo aggiunto al nome del documento prodotto, per esempio _ocred, così da non confonderlo con l’originale; Cartella destinazione permette di scegliere dove salvare il PDF elaborato. L’opzione Salta pagine con testo evita di applicare inutilmente l’OCR alle pagine che contengono già testo riconoscibile, mentre Salta file con testo esclude completamente un PDF se al suo interno viene già rilevato del testo.

Salva nella stessa cartella usa automaticamente la directory del documento originale. Rimuovi testo esistente è un’opzione più delicata: elimina il livello testuale già presente prima di applicare il nuovo OCR e può essere utile quando il PDF contiene un riconoscimento precedente completamente errato. In condizioni normali conviene lasciarla disattivata.

Rimuovi sfondo tenta di ripulire elementi di fondo che possono ostacolare il riconoscimento, funzione utile soprattutto con scansioni sporche o documenti fotografati; Raddrizza pagine corregge automaticamente le pagine leggermente inclinate ed è generalmente opportuno lasciarla attiva perché anche pochi gradi di rotazione possono peggiorare l’OCR. Infine, Ruota automaticamente pagine prova a individuare e correggere documenti acquisiti con orientamento sbagliato, per esempio pagine capovolte o ruotate di 90 gradi.

Per un normale PDF scansionato in italiano, quindi, una configurazione pratica è: Italian, segmentazione automatica, 300 DPI, Salta pagine con testo e Raddrizza pagine attivi.

PDF24 Creator o versione Web: quando conviene elaborare il PDF in locale

L’aspetto della pagina può rimanere praticamente identico all’originale: PDF24 conserva la scansione visibile e aggiunge un livello testuale riconosciuto tramite OCR, che consente finalmente di usare CTRL+F, selezionare le parole e copiarle.

La versione desktop risulta particolarmente interessante per documenti aziendali, amministrativi o personali che non si vogliono inviare a servizi esterni. L’elaborazione avviene direttamente sul computer e questo riduce i rischi legati alla trasmissione di contenuti riservati.

PDF24 offre comunque anche una versione Web, utile quando non si vuole installare alcun programma. Il servizio online permette di scegliere la lingua dell’OCR, raddrizzare automaticamente le pagine, ripulire l’immagine e utilizzare l’opzione Forza OCR per rieseguire il riconoscimento anche quando il PDF contiene già del testo. PDF24 dichiara che l’elaborazione avviene su server situati in Germania e che i file vengono eliminati automaticamente dopo un’ora.

Per documenti che non contengono dati personali o riservati, la versione online è molto comoda; quando invece il PDF contiene informazioni aziendali, documenti fiscali o dettagli personali, PDF24 Creator eseguito in locale resta la scelta più prudente.

NAPS2: gratuito, open source e molto comodo per scansioni e OCR

Un altro programma particolarmente utile è NAPS2, acronimo di Not Another PDF Scanner 2.

L’applicazione (download) nasce soprattutto come software per acquisire documenti da scanner, ma include il riconoscimento OCR e può creare PDF ricercabili.

Dalla funzione OCR si scaricano i modelli linguistici desiderati e si abilita l’opzione per rendere ricercabili i PDF salvati. Il programma supporta anche documenti contenenti più lingue.

È particolarmente comodo se il problema nasce già in fase di acquisizione: invece di creare prima una scansione “muta” e applicare successivamente l’OCR, si può generare direttamente un PDF dotato del livello testuale. Per archiviare fatture, documenti cartacei, vecchi manuali o corrispondenza è una delle soluzioni gratuite più semplici.

Per rendere ricercabile il contenuto di un file PDF preesistente con NAPS2, basta fare clic su OCR nella schermata principale, spuntare le caselle come nell’immagine (previa selezione della lingua italiana) e fare clic su OK.

NAPS2 OCR

È quindi possibile cliccare sul pulsante Importa, sempre dalla barra degli strumenti, quindi scegliere il PDF da elaborare. Infine, con un clic sul pulsante Salva PDF, si ottiene subito un documento con il testo riconosciuto e ricercabile.

Adobe Acrobat: utile soprattutto quando bisogna controllare gli errori OCR

Con Adobe Acrobat il percorso è il seguente: Tutti gli strumenti, Scansione e OCR, In questo file.

Basta quindi scegliere l’intervallo di pagine, si indica la lingua e si avvia il riconoscimento: Acrobat aggiunge così un livello testuale ricercabile al PDF.

Il vantaggio interessante di Acrobat emerge quando l’OCR non è perfetto: il programma può mostrare le parole sulle quali il riconoscimento ha espresso dubbi tramite la funzione Correggi il testo riconosciuto. L’utente confronta la parola identificata dal software con l’immagine originale e può correggere manualmente gli errori.

È importante perché un PDF con OCR può ingannare: sul monitor potresti vedere perfettamente la parola Microsoft ma il livello testuale invisibile potrebbe contenere Micros0ft, con uno zero al posto della “o”.

PDF-XChange Editor: visualizzatore avanzato con OCR

Su Windows merita attenzione anche PDF-XChange Editor. Oltre alla lettura e alla modifica dei PDF, il programma integra funzionalità OCR.

È possibile creare, visualizzare, modificare, annotare e sottoporre a OCR documenti PDF. Alcune funzioni sono gratuite, mentre quelle che richiedono la licenza possono applicare watermark se utilizzate nella versione non registrata.

È interessante soprattutto per chi desidera un programma desktop più tecnico rispetto ai normali lettori PDF e vuole esaminare e modificare frequentemente questo tipo di documenti.

ABBYY FineReader PDF per i casi più difficili

Quando bisogna lavorare molto con documenti scansionati, tabelle, layout articolati e materiale proveniente da archivi cartacei, ABBYY FineReader PDF rimane uno dei programmi specializzati più conosciuti.

FineReader analizza la struttura della pagina, individua aree testuali, immagini, codici a barre e tabelle e applica quindi il riconoscimento OCR. ABBYY permette inoltre di intervenire su lingua del documento, modalità di riconoscimento e aree della pagina.

È una soluzione commerciale e sarebbe eccessiva per lavorare occasionalmente su singoli documenti PDF, ma diventa interessante per chi digitalizza sistematicamente libri, per esigenze di documentazione aziendale o di archiviazione.

OCRmyPDF: la soluzione ideale per chi preferisce la riga di comando

Per chi utilizza Linux, macOS, Windows tramite ambienti compatibili o Docker, OCRmyPDF rappresenta una delle soluzioni open source più potenti.

Il programma aggiunge ai PDF scansionati un livello OCR utilizzando Tesseract come motore di riconoscimento. L’utilizzo di base, da riga di comando o CLI (command-line interface), è molto semplice:

ocrmypdf input.pdf output.pdf

Per un documento italiano si può specificare la lingua:

ocrmypdf -l ita input.pdf output.pdf

Il vantaggio rispetto all’uso diretto di Tesseract è che OCRmyPDF nasce specificamente per i PDF: gestisce il documento originale, il livello testuale, l’elaborazione delle immagini, l’ottimizzazione e anche la produzione di PDF/A. È particolarmente adatto per elaborazioni batch: ad esempio centinaia di vecchi PDF scansionati che devono diventare indicizzabili.

pdftotext: il comando che rivela subito se il testo esiste davvero

Prima ancora di applicare l’OCR, vale la pena utilizzare pdftotext, componente del progetto Poppler.

Il comando seguente, anch’esso utilizzabile da riga di comando, prova a estrarre il contenuto testuale del PDF e a salvarlo nel file di testo indicato:

pdftotext documento.pdf output.txt

Aprendo successivamente output.txt si possono distinguere tre situazioni molto diverse:

  1. Se il file è quasi vuoto nonostante decine di pagine piene di testo visibile, il PDF contiene probabilmente scansioni o elementi grafici.
  2. Se compare il testo corretto, gli oggetti testuali esistono e bisogna cercare altrove la causa del malfunzionamento di CTRL+F.
  3. Se compaiono caratteri senza senso, la causa più probabile riguarda invece font, codifiche o associazioni Unicode.

OCRmyPDF stesso suggerisce strumenti come pdftotext o pdfgrep quando si vuole estrarre e verificare il contenuto testuale di un PDF. Per chi vuole realmente capire “cosa c’è dentro” un PDF, pdftotext è quindi uno degli strumenti diagnostici più utili in assoluto.

Google Drive può estrarre il testo di un PDF

Anche Google Drive può essere utilizzato come OCR di emergenza: dal computer si carica il PDF su Drive, si fa clic con il tasto destro sul file e si sceglie Apri con, Documenti Google.

Google prova a riconoscere il contenuto e crea un documento con il testo estratto: la formattazione, tuttavia, spesso non è correttamente preservata. Tabelle, colonne, note e strutture complesse possono essere riconosciute male.

Non è quindi lo strumento migliore per ricostruire fedelmente un PDF ma si rivela utile, ad esempio, qualora l’esigenza fosse quella di leggere e copiare al volo il testo estratto da un PDF che contiene aree non selezionabili.

Cosa succede quando il PDF contiene glifi ma non caratteri Unicode

Supponiamo che all’interno del PDF il valore 0x17 indichi al font incorporato di disegnare il glifo visivamente corrispondente alla lettera A: per mostrare la pagina è un’informazione sufficiente.

Per copiare quella A, indicizzarla o trovarla con CTRL+F serve però un altro dato: il software deve sapere che quel glifo corrisponde al carattere Unicode U+0041: nei PDF tale associazione può essere descritta tramite una ToUnicode CMap.

Se la mappa manca, contiene informazioni errate oppure il PDF utilizza una codifica particolare, il visualizzatore può mostrare correttamente la lettera senza riuscire a ricostruirne in modo affidabile il carattere originale.

È il motivo per cui alcuni PDF permettono di evidenziare normalmente le parole ma producono risultati apparentemente assurdi quando si usa copia e incolla. Ed è anche il motivo per cui lo stesso file può comportarsi diversamente in Acrobat, Chrome, Edge o con un programma di estrazione: i vari software possono applicare strategie differenti per recuperare informazioni mancanti o ambigue.

Un PDF può contenere soltanto il disegno delle lettere

C’è poi il caso dei documenti provenienti da software di grafica, CAD, sistemi di prestampa o procedure di esportazione che hanno convertito il testo in curve.

In queste situazioni, il carattere in sé non esiste più: una “B” può essere composta semplicemente da segmenti e curve Bézier, esattamente come il contorno di un logo.

Visivamente il risultato è perfetto e rimane nitido a qualunque zoom, ma non esistono né “B”, né parola, né frase: per il PDF sono semplicemente elementi grafici.

Anche in questo caso OCRmyPDF o un altro motore OCR possono risultare utili, nonostante il documento non sia una scansione. PyMuPDF segnala un caso particolarmente curioso: alcune pagine PDF non contengono vero testo, ma migliaia di piccoli elementi vettoriali usati per “disegnare” le lettere. Per esempio, una “D” può essere costruita con una linea verticale e una curva, mentre una “o” può essere semplicemente un’ellisse.

A video il risultato sembra testo normale e rimane perfettamente nitido anche aumentando molto lo zoom, ma per il software quelle forme non sono caratteri Unicode: sono soltanto linee e curve. In una situazione del genere, l’estrazione del testo può restituire una pagina vuota e CTRL+F non trova nulla.

Il software deve praticamente “rileggere con gli occhi” un documento nato digitale perché durante l’esportazione è andata persa l’informazione testuale originale.

Ti consigliamo anche

Link copiato negli appunti