SU
StrumentiUtili.it
Micro-strumenti gratuiti 100% client-side
← Torna alla categoria IA Locale
🤖 IA Locale

Estrazione Testo da Immagini e PDF (OCR)

Estrai testo da foto o PDF direttamente nel browser con elaborazione 100% privata.

Trascina qui il tuo file oppure sfoglia dal dispositivo
Pronto.

Affidabilità di questo strumento

📅 Accuratezza del riconoscimento misurata a

👨‍💻 Chi lo ha realizzato

Sviluppato e mantenuto da ingegneri software indipendenti. Motore di calcolo basato esclusivamente sulle normative ufficiali vigenti. (Zero-Backend: nessun dato viene inviato a server esterni).

🔒 Privacy Zero-Backend

Le immagini e i PDF vengono letti ed elaborati nel browser: nessun file viene inviato a server. Il motore OCR e i modelli linguistici (alcuni megabyte) sono scaricati da CDN al primo utilizzo: viaggiano i modelli, non i tuoi documenti (GDPR, artt. 5 e 25).

📚 Fonti tecniche e normative

Codice dell'amministrazione digitale (D.Lgs. 82/2005), art. 22; Linee guida AgID sulla formazione, gestione e conservazione dei documenti informatici; Regolamento UE 2016/679 (GDPR), artt. 5, 25 e 32; documentazione Tesseract 5 e tesseract.js; librerie pdf.js, pdf-lib e docx.

Compendio Tecnico-Giuridico sull'Estrazione Ottica dei Caratteri (OCR) e Dematerializzazione Documentale

Il processo di digitalizzazione e dematerializzazione dei documenti analogici nell'ordinamento italiano è disciplinato dalle Linee Guida AgID (Agenzia per l'Italia Digitale) sulla formazione, gestione e conservazione dei documenti informatici e dall'articolo 22 del Codice dell'Amministrazione Digitale (CAD - D.Lgs. 82/2005). L'estrazione ottica dei caratteri (OCR - Optical Character Recognition) rappresenta l'anello congiungente tra il documento rasterizzato a pixel e la sua rappresentazione vettoriale testuale indicizzabile in formato UTF-8. Questo strumento usa Tesseract 5 compilato in WebAssembly (tesseract.js): segmentazione e riconoscimento neurale LSTM avvengono nel browser. Il motore e il modello della lingua scelta vengono scaricati da una CDN al primo utilizzo, mentre i documenti restano sul dispositivo e non vengono trasmessi (GDPR, art. 25). Il primo avvio richiede quindi una connessione e qualche secondo di attesa.

⚖️ 1. Inquadramento Normativo: Valore Legale CAD (Art. 22), DPR 445/2000 e GDPR

Efficacia Probatoria delle Copie Informatiche ex Art. 22 CAD

L'articolo 22, comma 2, del D.Lgs. 82/2005 (CAD) stabilisce che le copie informatiche di documenti analogici hanno la stessa efficacia probatoria degli originali da cui sono tratte se la loro conformità non è espressamente disconosciuta dalla controparte o se la conformità all'originale è attestata da un pubblico ufficiale a ciò autorizzato con firma digitale qualificata o sigillo elettronico. L'estrazione OCR integrata nel documento genera la componente strutturata indispensabile per la ricerca testuale e l'archiviazione sostitutiva a norma ISO 19005 (PDF/A).

Privacy by Design (Art. 25 GDPR) e Trasferimenti Extra-UE

Utilizzare motori OCR commerciali basati su API Cloud esterne (con server situati in giurisdizioni extra-UE) espone il professionista (avvocato, medico, commercialista) a severe sanzioni amministrative pecuniarie per violazione degli Articoli 28 e 44 del GDPR. La trasmissione di documenti contenenti categorie particolari di dati personali (Art. 9 GDPR) verso API di terzi richiede la stipula di complessi Data Processing Agreements (DPA) e l'esecuzione preventiva di una Valutazione d'Impatto (DPIA ex Art. 35).

L'architettura Zero-Backend di questo strumento elimina alla radice ogni trasferimento di rete. I moduli WebAssembly di Tesseract.js e i pesi delle reti neurali vengono scaricati nella cache locale del browser (Service Worker); la trasformazione dei pixel in testo avviene esclusivamente nella RAM volatile del dispositivo dell'utente, realizzando l'isolamento ermetico dei dati sensibili.

🧮 2. Meccanica Computazionale: Geometria DPI, Binarizzazione Otsu e LSTM

A) Risoluzione Spaziale e Geometria dei Pixel (DPI)

La risoluzione ottica della scansione determina la densità dei campioni per pollice lineare. Per un riconoscimento accurato dei caratteri tipografici con corpo standard (8-12pt), le Linee Guida AgID prescrivono una risoluzione minima di 300 DPI. La relazione tra dimensione metrica e pixel dell'immagine raster è definita dall'equazione:

Dimensioni in Pixel = (Dimensione in Millimetri / 25,4) × DPI

Scansionare al di sotto dei 300 DPI provoca l'innesco di fenomeni di aliasing e la distruzione della Point Spread Function (PSF) dei tratti sottili dei caratteri (es. la differenza tra la lettera 'e' e la 'c').

B) Binarizzazione Adattiva di Otsu (Sogliatura del Contrasto)

Prima di inviare i pixel alla rete neurale, l'immagine in scala di grigi deve essere convertita in una matrice binaria mono-bit (0 = testo nero, 1 = sfondo bianco). L'Algoritmo di Otsu calcola la soglia ottimale che minimizza la varianza tra i due histogrammi di foreground e background.

C) Raddrizzamento Geometrico (Deskewing tramite Trasformata di Hough)

Quando il foglio è stato acquisito storto, le righe di testo risultano inclinate rispetto agli assi dell'immagine. Tesseract stima l'inclinazione delle righe durante l'analisi del layout e la compensa entro pochi gradi; oltre, la segmentazione peggiora sensibilmente. Per foto molto storte conviene raddrizzare prima l'immagine con lo Scanner Documenti, che corregge anche la prospettiva.

D) Riconoscimento Neurale LSTM (Long Short-Term Memory)

Tesseract.js impiega un motore di Deep Learning basato su reti neurali ricorrenti LSTM. La rete non riconosce le singole lettere in isolamento, ma analizza le sequenze orizzontali di pixel all'interno della riga, valutando il contesto linguistico del dizionario integrato (es. ita.traineddata). Ogni parola estratta viene corredata da un punteggio di confidenza percentuale.

📊 3. Casuistica Reale: Trascrizione e Digitalizzazione di un Atto Giudiziario Distorto

Come lavora lo strumento, passo per passo

Dal momento in cui premi «Avvia riconoscimento», il file passa attraverso tre fasi:

Fase 1: rasterizzazione delle pagine.
Se carichi un PDF, pdf.js disegna ogni pagina su un canvas a 300 punti per pollice (scala 4,17 rispetto ai 72 punti del formato), con un limite di 4.000 pixel per lato. Vengono elaborate tutte le pagine, non solo la prima.

Fase 2: pre-elaborazione interna di Tesseract.
Tesseract converte l'immagine in scala di grigi, la binarizza con una sogliatura di tipo Otsu e individua righe e parole stimandone l'inclinazione. Questo strumento non applica correzioni proprie prima del riconoscimento: se la foto è storta o poco contrastata conviene passarla prima dallo Scanner Documenti, che raddrizza la prospettiva.

Fase 3: riconoscimento con rete neurale LSTM.
Il modello linguistico scelto (per esempio ita.traineddata) analizza le righe e restituisce il testo. Timbri, loghi e firme non vengono riconosciuti come testo e possono produrre caratteri casuali, da eliminare a mano nel riquadro del risultato.

4. FAQ Tecniche, Gestione Memoria Heap V8 e HTR vs OCR

👥 Casi Pratici ed Esempi Reali

I casi seguenti sono stati riprodotti con lo strumento; il testo estratto è stato confrontato carattere per carattere con quello reale del documento.

Caso 1: la stessa pagina a due risoluzioni diverse

  • Testo reale: «Codice fiscale: RSSMRA80A01H501U»
  • Immagine a circa 100 DPI: «Codice fiscale: RSSMRAS0A01HSO1U» (3 errori su 133 caratteri)
  • Stessa pagina a 300 DPI: nessun errore

Gli errori si concentrano dove il contesto linguistico non aiuta: 8 letto come S, 5 come S, 0 come O. È il motivo per cui codici fiscali, IBAN e importi vanno sempre riletti, e per cui conviene acquisire a 300 DPI.

Caso 2: referto in PDF di due pagine

  • Pagina 1 riconosciuta: «REFERTO AMBULATORIALE», «Paziente: Mario Rossi», «Codice fiscale: RSSMRA80A01H501U»
  • Pagina 2 riconosciuta: «Pagina 2 - allegato», «Firma del paziente: Mario Rossi»
  • Separatori «--- Pagina 1 ---» e «--- Pagina 2 ---» nel testo estratto

Entrambe le pagine vengono lette: fino alla revisione di questo strumento veniva riconosciuta soltanto la prima, e il resto del documento andava perso senza alcun avviso.

Caso 3: esportazione con accenti e simboli

  • Testo di partenza: «Perché è così: società, €1.250,00 — n° 3. Ševčenko, Łukasz»
  • Nel PDF esportato: «Perché è così: società, €1.250,00 — n° 3. Ševcenko, Lukasz»

Accenti, euro, lineetta e simbolo di numero restano intatti; le lettere fuori dall'alfabeto latino occidentale vengono ricondotte alla lettera base. Per conservare ogni carattere esattamente com'è, esporta in TXT o in DOCX.

Perché le scansioni a 150 DPI causano l'esplosione degli errori di segmentazione nell'OCR?

A 150 DPI la matrice dei pixel che compone un carattere con corpo di 8 punti conta appena 8-10 pixel in altezza. La sfocatura e l'aliasing della fotocamera fondono i contorni adiacenti, inducendo la rete neurale a commettere errori sistematici di segmentazione: la sequenza di lettere "r" e "n" vicine viene scambiata per una "m", la combinazione "c" e "l" viene letta come "d", e i punti della punteggiatura svaniscono durante la binarizzazione. L'acquisizione a 300 o 600 DPI è la conditio sine qua non per un'accuratezza > 95%.

Qual è la differenza tra OCR (Optical Character Recognition) e HTR (Handwritten Text Recognition)?

L'OCR tradizionale è ottimizzato per caratteri a stampa con geometrie e font rigidi (Arial, Times, Courier). La scrittura a mano libera (calligrafia) presenta una variabilità morfologica e un tratto continuo che richiede modelli di HTR (Handwritten Text Recognition) specificamente riaddestrati su grafie fluide. Tesseract può leggere uno stampatello molto regolare, ma non è progettato per il corsivo: su un modulo compilato a mano il risultato è in genere inutilizzabile e va trascritto manualmente.

Come viene gestito l'esaurimento della memoria (Out of Memory) per PDF di centinaia di pagine?

Il browser riserva alla singola scheda una quantità limitata di memoria. Le pagine di un PDF vengono quindi convertite e riconosciute una alla volta, liberando il canvas di ogni pagina prima di passare alla successiva; il motore OCR viene creato una sola volta per l'intero documento, così i modelli non vengono riscaricati a ogni pagina. Restano comunque tempi lunghi: il riconoscimento richiede qualche secondo per pagina, e per fascicoli di decine di pagine conviene dividerli prima con lo strumento Unisci e Dividi.

La copia informatica estratta via OCR ha la stessa valenza probatoria dell'originale analogico?

Occorre distinguere. L'articolo 22 del CAD riguarda le copie per immagine su supporto informatico, cioè la scansione fedele del documento cartaceo: se la conformità all'originale non è espressamente disconosciuta, la copia ha la stessa efficacia probatoria dell'originale, e per gli atti pubblici serve l'attestazione di un pubblico ufficiale. Il testo estratto con l'OCR non è una copia per immagine: è un file di testo derivato, che può contenere errori di riconoscimento e non riproduce l'aspetto del documento. Per gli usi con valore probatorio va conservata la scansione; il testo OCR serve a cercare, copiare e rielaborare il contenuto.

📌 Guida pratica: come ottenere un riconoscimento accurato

La qualità del testo estratto dipende molto più dall'immagine di partenza che dal motore di riconoscimento. Pochi accorgimenti in fase di acquisizione riducono gli errori in modo più efficace di qualsiasi correzione successiva.

Parametri di acquisizione consigliati

ParametroValore consigliatoEffetto se ignorato
Risoluzione di scansione300 DPI per testo normale, 400 DPI per caratteri piccoliLettere fuse o spezzate, cifre confuse
Modalità coloreScala di grigiIl colore aggiunge dati senza migliorare il riconoscimento
Inclinazione della paginaEntro 1 - 2 gradiRighe segmentate male, parole su righe sbagliate
Illuminazione della fotoUniforme, senza ombre né riflessiZone di testo perse durante la binarizzazione
Formato del filePNG o TIFF senza perditaArtefatti di compressione JPEG attorno ai caratteri

Perché i 300 DPI sono la soglia di riferimento

  • Altezza in pixel di un carattere = Corpo in punti / 72 x DPI
  • Corpo 10 pt a 150 DPI = 10 / 72 x 150 = circa 21 pixel
  • Corpo 10 pt a 300 DPI = 10 / 72 x 300 = circa 42 pixel
  • Il motore LSTM lavora in modo ottimale con altezze di riga di circa 30 - 40 pixel

Sotto la soglia, i dettagli che distinguono caratteri simili come «rn» e «m», «l» e «1», «O» e «0» si riducono a pochi pixel e il modello deve indovinare. Salire molto oltre i 400 DPI non migliora il risultato e aumenta memoria e tempi di elaborazione.

Documenti che richiedono attenzione particolare

  • Testo manoscritto: il motore è addestrato su caratteri a stampa. La scrittura a mano produce risultati poco affidabili e richiede una trascrizione manuale.
  • Tabelle e moduli: il riconoscimento restituisce il testo in ordine di lettura, ma può perdere l'allineamento delle colonne. I dati numerici vanno controllati riga per riga.
  • Timbri e firme sovrapposti: coprono parzialmente il testo e generano caratteri spuri. Conviene escluderli ritagliando l'immagine quando possibile.
  • Documenti in più lingue: selezionare tutte le lingue presenti migliora il riconoscimento di accenti e caratteri speciali.
  • Fotocopie di fotocopie: ogni passaggio degrada i contorni. Se possibile va acquisito l'originale.

Il controllo dopo l'estrazione

Nessun sistema di riconoscimento ottico garantisce un'accuratezza assoluta. Per documenti con valore giuridico o economico il testo estratto va confrontato con l'originale, con particolare attenzione a importi, date, codici fiscali, IBAN e numeri di protocollo. Un singolo carattere errato in un codice identificativo può rendere inutilizzabile l'intero dato, e il controllo formale del codice non basta a rilevare ogni errore.

Domande Frequenti (FAQ)

Vengono lette tutte le pagine di un PDF?

Sì: ogni pagina viene convertita a 300 DPI e riconosciuta, e il testo è separato da un'intestazione «--- Pagina n ---».

I documenti vengono caricati su qualche server?

No. Restano nel browser; dalla rete arrivano soltanto il motore OCR e i modelli linguistici, scaricati al primo utilizzo.

Perché il primo riconoscimento è più lento?

La prima volta il browser scarica il motore WebAssembly e il modello della lingua scelta, alcuni megabyte; poi restano nella cache.

Il testo estratto ha valore legale?

No di per sé: il valore probatorio riguarda la copia per immagine del documento, non il testo derivato dall'OCR, che può contenere errori di riconoscimento.

Riconosce la scrittura a mano?

Solo uno stampatello molto regolare, e con molti errori. Per il corsivo servono sistemi di riconoscimento diversi, non disponibili in questo strumento.