Intermedio 12 minVisione

PaddleOCR: l'OCR che capisce la page

Risposta diretta

PaddleOCR è una suite di strumenti OCR open source (licenza Apache 2.0, più di 90.000 stelle su GitHub) che rileva il testo ovunque su una pagina e ricostruisce le tabelle. Con la sua variante PaddleOCR-VL, un modello di visione con circa 900 milioni di parametri raggiunge il 96,33% sul benchmark di riferimento OmniDocBench v1.6: un risultato che permette di sostituire un lettore riga per riga su documenti reali, al prezzo di un'installazione più pesante.

PaddleOCR fa ciò che un motore classico di riconoscimento ottico non sa fare: individuare il testo in qualsiasi punto di una pagina, leggere testi fitti e ricostruire la struttura di una tabella. È più pesante del motore storico, ed è proprio ciò che serve per i documenti che contano — fatture, moduli, rapporti, scansioni multilingue.

Di Mohamed Meguedmi·Agg. 2026-09-29·Testato su Windows, macOS e Linux

#Prima la rilevazione: cosa cambia

PaddleOCR è una raccolta di strumenti OCR open source, con licenza Apache 2.0, che non legge una pagina riga per riga: prima cerca dove si trova il testo, poi legge ogni zona e può quindi ricostruire la struttura della pagina e delle sue tabelle. È questo che la rende robusta con fatture, moduli, scansioni inclinate e documenti multilingue, dove un motore come Tesseract produce risultati assurdi con sicurezza. Il progetto si articola in due famiglie: una pipeline modulare (PP-OCRv6 per la lettura, PP-StructureV3 per la struttura) e PaddleOCR-VL, un modello di visione con circa 0,9 miliardi di parametri che converte una pagina in Markdown in un solo passaggio e raggiunge il 96,33% su OmniDocBench v1.6 secondo il suo editore. Il prezzo da pagare è un'installazione più pesante, con PaddlePaddle e pesi dei modelli, e requisiti GPU documentati per la variante VL. Per grandi volumi di testo pulito, un motore leggero rimane più semplice.

Un motore classico presuppone che una pagina sia composta da righe di testo disposte come in un libro. I documenti reali non sono così: una fattura ha dei riquadri, un modulo ha dei campi, una presentazione ha del testo sovrapposto alle immagini, una scansione può essere storta, un disegno tecnico contiene etichette inclinate.

PaddleOCR scompone il problema. Un modello di rilevamento individua le aree di testo ovunque si trovino e ne restituisce la posizione; un modello di riconoscimento legge ogni area. Un testo inclinato, una didascalia a margine e un numero in una cella diventano tre aree tra le altre. È questo che gli permette di funzionare su documenti in cui un sistema di lettura riga per riga commette errori senza renderli evidenti.

#Le fasi del pipeline

Il kit IA Locale

Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita
Cosa produce ogni fase
PassoCosa producePerché conta
Rilevamento di testoRiquadri attorno a ogni area di testoNulla viene tralasciato a causa di una posizione insolita
Classificazione dell'orientamentoL'orientamento corretto di ogni zonaLe scansioni storte non sono più un caso particolare
RiconoscimentoLa stringa di caratteri di ogni riquadroLa fase di lettura vera e propria
Analisi di layoutIl tipo di ogni zona: titolo, paragrafo, figura, tabellaLa divisione può seguire la struttura piuttosto che un contatore di caratteri
Riconoscimento di tabelleRighe, colonne, celleI numeri mantengono l'etichetta che dà loro significato

Non tutte le fasi sono obbligatorie. Leggere alcune etichette richiede solo rilevamento e riconoscimento; acquisire rapporti finanziari per una ricerca documentale giustifica l'intera catena. PP-OCRv6, la generazione di modelli di riconoscimento pubblicata nel 2026, copre da sola 50 lingue in un modello unificato (cinese, inglese, giapponese e 46 lingue con alfabeto latino), senza cambiare modello da una lingua all'altra.

#PaddleOCR-VL: l'OCR che diventa un modello di visione

Da ottobre 2025, il progetto pubblica una seconda famiglia con lo stesso nome: PaddleOCR-VL, un modello compatto di visione e linguaggio che sostituisce l'intera pipeline in cinque fasi con un unico passaggio. La versione 1.6, uscita a fine maggio 2026, conta circa 0,9 miliardi di parametri e associa un encoder visivo a risoluzione dinamica a un piccolo modello linguistico. Su OmniDocBench v1.6, il benchmark di riferimento per la conversione di documenti in Markdown o in JSON, raggiunge un punteggio del 96,33 %, un livello che il progetto stesso definisce un nuovo stato dell'arte.

Ciò che colpisce non è solo il punteggio: è la dimensione del modello che lo ottiene. Una guida pubblicata da InsiderLLM riassume la situazione in una frase: un modello con 900 milioni di parametri che supera un modello da 72 miliardi e GPT-4o nell'OCR dei documenti. Lo stesso articolo quantifica il fabbisogno di memoria del concorrente generalista — Qwen2.5-VL-72B richiede almeno 48 GB di VRAM con quantizzazione Q4 — mentre PaddleOCR-VL, convertito nel formato GGUF e quantizzato in Q4_K_M, occupa all'incirca da uno a un gigabyte e mezzo, sommando i pesi del modello linguistico e del proiettore visivo. Questo percorso basato su GGUF è recente: il supporto per PaddleOCR-VL è stato integrato in llama.cpp nel febbraio 2026 (versione b8110), e i file GGUF disponibili sono quelli della comunità, non quelli del team PaddleOCR.

Il componente che produce il punteggio OmniDocBench non è l’unico: accanto a PaddleOCR-VL, il progetto mantiene PP-StructureV3, una pipeline dedicata alla conversione di PDF complessi in Markdown o in JSON con le coordinate precise di ogni cella di tabella e di ogni blocco di testo. I due componenti mirano allo stesso obiettivo — un documento reale convertito correttamente — attraverso due percorsi diversi: un unico modello per PaddleOCR-VL, una catena di componenti specializzati per PP-StructureV3. Il motore, qualunque esso sia, supporta nativamente l’inferenza multi-GPU e multiprocesso, un aspetto che conta quando occorre elaborare un corpus di diverse decine di migliaia di pagine in un tempo ragionevole.

i
Due prodotti, un solo nome
PaddleOCR (il pipeline modulare in cinque fasi) e PaddleOCR-VL (il modello di visione-linguaggio a un solo passaggio) sono due strumenti distinti pubblicati dalla stessa squadra. Il primo si adatta a volumi elevati in cui si vuole controllare ogni fase; il secondo si adatta a documenti complessi che si vogliono convertire direttamente in Markdown strutturato, senza costruire una catena.

#PaddleOCR o Tesseract

Due budget, non due concorrenti (valutazioni qualitative)
PaddleOCRTesseract
InstallazioneStack Python e pesi dei modelliUn piccolo binario
Scansione nitida a colonna singolaEccellenteEccellente, e più veloce
Testo in qualsiasi punto della paginaEccellenteDebole
TabelleStruttura ricostruitaAplatis
Scritture non latineMolto buonoDipende fortemente dal pacchetto linguistico
Documento inclinato di alcuni gradiCorretto tramite la classificazione dell'orientamentoPuò far crollare il tasso di lettura
GPUOpzionale, grande vantaggioNon utilizzato

Una pipeline ben progettata usa entrambi: le pagine semplici vengono affidate al motore leggero, quelle complesse al motore costoso. L’instradamento non costa nulla e fa risparmiare ore su un corpus di grandi dimensioni. La riga sull’inclinazione non è un dettaglio marginale: Koncile, un fornitore di software per l’estrazione di dati dalle fatture, ha misurato nei propri test un tasso di lettura di Tesseract che passa dal 100% su una fattura dritta al 31% non appena la scansione è inclinata di appena 3-5 gradi — esattamente il caso che la fase di classificazione dell’orientamento di PaddleOCR è progettata per gestire.

#Casi d'uso: quando passare a PaddleOCR

Fatturazione e contabilità
La scansione di una fattura è raramente perfettamente dritta; la struttura della tabella (quantità, prezzo unitario, IVA) deve rimanere leggibile affinché gli importi mantengano il loro significato, invece di ridursi a una riga di cifre isolate.
Fascicoli amministrativi multilingui
Moduli, documenti d'identità, lettere in diversi sistemi di scrittura: l'ampia copertura linguistica di PaddleOCR evita di dover predisporre un motore diverso per ogni paese o alfabeto.
Rapporti lunghi per un RAG
Per un rapporto di diverse decine di pagine con titoli, sottotitoli e tabelle, è utile preservare la struttura durante la conversione: una suddivisione che rispetta le sezioni è preferibile a una basata sul numero di caratteri.
Archivi scansionati alla rinfusa
Scatole di documenti cartacei digitalizzati senza cura, con orientamento casuale: la fase di classificazione dell'orientamento risolve gran parte del disordine prima ancora della lettura.
Volume elevato e testo pulito
Al contrario, un flusso di scontrini o estratti già ben inquadrati, in grandi volumi, viene spesso gestito meglio da un motore più leggero — vedere il confronto con Tesseract più sopra.

#Installare e avviare una prima estrazione

L'installazione avviene con pip, con una particolarità: a partire dalla serie 3.x, il pacchetto paddleocr non basta da solo. La documentazione richiede di installare prima il motore di inferenza scelto (per default PaddlePaddle), poi il pacchetto paddleocr. I pesi dei modelli di rilevamento, riconoscimento e, se applicabile, di layout vengono scaricati al primo avvio di ciascuna pipeline utilizzata.

  1. 01
    Installare la libreria
    Installare prima PaddlePaddle seguendo la pagina di installazione ufficiale (la variante CPU o GPU a seconda della macchina), poi eseguire python -m pip install paddleocr. Il pacchetto di base supporta Python 3.8 o successivo; le dipendenze opzionali per l'analisi dei documenti (paddleocr[doc-parser]) richiedono Python 3.9 o successivo.
  2. 02
    Avviare una prima estrazione
    Il comando paddleocr ocr accetta un'immagine in ingresso (opzione -i) e scrive i risultati nella cartella indicata da --save_path. Per convertire una pagina in Markdown con PaddleOCR-VL, il comando è paddleocr doc_parser, con le stesse opzioni -i e --save_path.
  3. 03
    Attivare le fasi utili
    Le opzioni use_doc_orientation_classify, use_doc_unwarping e use_textline_orientation attivano il raddrizzamento di una pagina o di una riga inclinata. Su scansioni pulite, impostarle su False accelera l'elaborazione; la documentazione ufficiale raccomanda infatti di disattivare le funzioni inutili quando l'inferenza è troppo lenta.
Terminale (dopo l'installazione di PaddlePaddle)
python -m pip install paddleocr
paddleocr ocr -i ./facture.jpg --use_doc_orientation_classify True --use_textline_orientation True --save_path ./output
→
Output direttamente utilizzabile
Il risultato comprende il testo riconosciuto, le coordinate di ogni area e, quando è attivata la funzione di riconoscimento della struttura, un'esportazione in Markdown o JSON pronta per essere indicizzata per la ricerca documentale o inviata a un modello linguistico. Non serve scrivere un parser su misura per risalire alla tabella a cui appartiene ogni cella.

#Quanto consuma

Il progetto non pubblica una velocità di elaborazione per pagina valida in ogni situazione: dipende dalla densità del documento, dalle fasi attivate e dall'hardware, e la documentazione invita a disattivare le funzioni inutili o a scegliere modelli più leggeri quando l'inferenza è lenta. Effettua le misurazioni su una ventina delle tue pagine prima di estrapolare i risultati a un corpus. Per PaddleOCR-VL, la documentazione ufficiale indica i requisiti delle GPU NVIDIA (PaddlePaddle: capacità di calcolo 7.0 o superiore e CUDA 11.8 o superiore; vLLM: 8.0 o superiore e CUDA 12.6 o superiore) e prevede anche una modalità di esecuzione su processore x64. I pesi vengono scaricati una volta, poi tutto è locale: nessuna API, nessun costo per pagina.

!
La GPU è condivisa
Su una macchina che ospita anche un modello di linguaggio, un'operazione di OCR e l'inferenza concorrono per la stessa memoria. Si avvia l'ingestione in batch quando nessuno sta interrogando il sistema e si mette il risultato in cache: un documento viene convertito una volta, non a ogni domanda.

#L'argomento decisivo: nessuna invenzione

PaddleOCR legge i pixel. Può leggere male un carattere, e la sostituzione di una cifra non è sempre evidente. Un modello di visione generalista a cui si chiede di trascrivere un documento può produrre un valore ben formato, plausibile e assente dalla pagina, senza che nulla nell'output lo segnali. PaddleOCR-VL è più delicato: poiché genera il testo invece di leggerlo zona per zona, rientra nella stessa categoria di rischio dei modelli di visione generalisti, anche se è addestrato per la trascrizione. Nessun sistema è al riparo da un errore su un carattere ambiguo.

Per il controllo documentale, la contabilità o qualsiasi attività che debba essere verificabile in un audit, questa differenza deve guidare la scelta: un motore OCR dedicato per i numeri su cui farai affidamento, un modello di visione generalista quando vuoi che il documento venga spiegato anziché trascritto. Per i documenti di particolare importanza, usare entrambi e confrontare i risultati resta una terza opzione legittima.

In pratica, la verifica non richiede di rileggere tutto. Un campione di qualche decina di documenti per lotto, confrontato manualmente con l'output del motore, basta per individuare una deriva sistematica — un campo delimitato male, una lingua riconosciuta male, una tabella regolarmente suddivisa male — prima che contamini migliaia di pagine elaborate automaticamente.

#FAQ

PaddleOCR è gratuito?+
Sì. Il progetto è pubblicato sotto licenza Apache 2.0, completamente libero anche per uso commerciale, e ha più di 90.000 stelle su GitHub. Funziona localmente, senza chiave API né costi per pagina. Verifica comunque la licenza dei modelli specifici che scarichi: alcune varianti di ricerca possono prevedere condizioni diverse.
Serve una GPU?+
No, non per iniziare: la pipeline classica funziona sulla CPU e la documentazione di PaddleOCR-VL prevede un percorso di esecuzione su processori x64. Una GPU NVIDIA rimane la configurazione meglio documentata e diventa utile non appena il volume supera qualche migliaio di pagine. Il progetto non pubblica tempi per pagina sulla CPU: misurali sui tuoi documenti.
PaddleOCR o Tesseract?+
Tesseract per grandi volumi di testo pulito su una sola colonna: è più veloce e più leggero, purché la scansione sia ben allineata. PaddleOCR per layout disordinati, scansioni inclinate, moduli, tabelle e sistemi di scrittura non latini, per i quali il motore leggero perde rapidamente affidabilità.
Sa estrarre le tabelle?+
Sì, il riconoscimento della struttura fa parte degli strumenti disponibili, tramite la pipeline classica o tramite PP-StructureV3: righe, colonne e celle vengono ricostruite anziché essere appiattite in un'unica riga di numeri. Nessun punteggio di benchmark garantisce il risultato sulle tue tabelle: controlla manualmente alcuni documenti, soprattutto quelli con celle unite, prima di fidarti dell'intero flusso.
Cosa è esattamente PaddleOCR-VL?+
Un modello visione-linguaggio con circa 0,9 miliardi di parametri, pubblicato dallo stesso team della pipeline OCR classica. Converte una pagina direttamente in Markdown o in JSON strutturato in un solo passaggio, con un punteggio del 96,33 % sul benchmark OmniDocBench v1.6, senza creare una catena separata di rilevamento, riconoscimento e strutturazione.
Funziona offline?+
Sì, una volta scaricati i pesi. Da quel momento non esce più nulla dalla macchina: è questo il motivo principale per sceglierlo per documenti riservati. Fatture, cartelle mediche o documenti giuridici restano sul tuo disco dal primo byte letto all'ultimo carattere estratto.
Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.