Intermedio 11 minStack

Docling: convertire PDF per un'IA locale

Risposta diretta

Docling è una libreria open source (licenza MIT, progetto IBM Research ospitato dalla LF AI & Data Foundation) che converte PDF, DOCX, PPTX, XLSX, HTML, EPUB, immagini e audio in markdown o JSON strutturato, ricostruendo layout, ordine di lettura e tabelle. Funziona completamente in locale, con o senza GPU, e si collega direttamente a LangChain, LlamaIndex, Crew AI o Haystack per alimentare una pipeline di RAG documentale.

Il PDF è il formato di input più difficile da gestire in qualsiasi pipeline documentale locale: due colonne lette trasversalmente, un'intestazione che spezza una frase in due, una tabella di cifre ridotta a una colonna di numeri senza le rispettive etichette. Docling è una libreria open source pubblicata da IBM Research, oggi ospitata dalla LF AI & Data Foundation, che analizza l'impaginazione, ricostruisce l'ordine di lettura e recupera la struttura delle tabelle, poi esporta tutto in markdown, HTML o JSON. Il tutto sul tuo computer, senza API: proprio il vincolo da rispettare quando i documenti sono contratti o cartelle cliniche.

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

#Il passaggio che determina tutto il resto

Quando un assistente documentale risponde male, si accusa il modello. La causa è quasi sempre a monte. Un rapporto esportato da un modello di documento aziendale e passato attraverso un estrattore di testo ingenuo diventa un flusso in cui l'intestazione della pagina interrompe un paragrafo, l'impaginazione a due colonne viene letta orizzontalmente e una tabella di risultati si trasforma in una sequenza di numeri privi di contesto. Questi frammenti vengono poi codificati, recuperati e presentati al modello come fatti: il modello legge un'assurdità e la restituisce con sicurezza. Nessun modello di embedding, nessun reranker e nessun prompt può compensare una conversione fallita a monte della catena — è questo il punto che la maggior parte dei tutorial sul RAG locale passa sotto silenzio, concentrandosi sulla scelta del modello linguistico.

Docling si occupa direttamente di questo passaggio trascurato. Il progetto è stato pubblicato in open source da IBM Research nel luglio 2024 sotto licenza MIT, il che consente l'uso commerciale senza royalty né copyleft. Ha rapidamente superato le 10.000 stelle su GitHub e, all'inizio del 2025, figurava tra i repository più seguiti al mondo; a fine settembre 2026, il repository ufficiale contava più di 68.000 stelle e la sua ultima versione stabile, la v2.130.0, era stata pubblicata il 22 settembre 2026.

#Cosa fa Docling

Il kit RAG Local

I tuoi documenti, la tua IA: un RAG locale affidabile sui tuoi PDF, sulle tue note e sulle tue email — senza inviare nulla nel cloud.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita
Analisi di layout
Identifica le aree di una pagina e la loro natura, in modo che una didascalia non venga unita a un paragrafo e un piè di pagina non compaia nel mezzo di una frase.
Ordine di lettura
Ricostruisce la sequenza che una persona seguirebbe, rendendo finalmente utilizzabili i documenti impaginati su più colonne.
Struttura delle tabelle
Riconosce righe, colonne e celle unite e le esporta come vere tabelle anziché come righe di testo.
Riconoscimento ottico quando necessario
Le pagine scansionate prive di un livello di testo passano attraverso l'OCR invece di essere acquisite senza contenuto testuale.
Comprensione dei grafici
Grafici a torta, istogrammi e curve possono essere convertiti in tabelle di dati o in una descrizione testuale, anziché essere semplicemente ignorati.
Un unico modello di documento
Una rappresentazione interna comune, diversi formati di esportazione (markdown, HTML, DocTags, JSON senza perdita di informazioni): il resto della catena non deve sapere se l'input era un PDF o un documento da ufficio.

Oltre ai PDF, Docling supporta DOCX, PPTX, XLSX, HTML, EPUB, le immagini (PNG, TIFF, JPEG…), le email (EML, MSG) e persino l'audio (WAV, MP3) tramite una pipeline di trascrizione — un aspetto importante, perché un corpus reale non è mai omogeneo. Quanto alle integrazioni, la libreria si collega con poche righe di codice a LangChain, LlamaIndex, Crew AI e Haystack, evitando così di dover scrivere personalmente il codice di conversione in una pipeline agentica.

#Le tabelle, il vero motivo per cui vale la pena prendersi il disturbo

In un documento professionale, i numeri si trovano quasi sempre nelle tabelle, ed è lì che l'estrazione ingenua fallisce più gravemente. Una riga che diventa «Parigi 12 480 3,2» ha perso le intestazioni delle colonne che le davano un senso. La ricerca restituisce poi un estratto apparentemente corretto, il modello inventa la relazione tra i valori e la risposta è sbagliata in un modo difficile da individuare.

Docling affida questo compito a un modello dedicato, TableFormer, che codifica la struttura della tabella con un vocabolario specializzato chiamato OTSL (Optimized Table Structure Language) e gestisce correttamente le celle unite e le intestazioni su più livelli. Secondo l'articolo di ricerca da cui nasce questo formato, OTSL riduce a una manciata di token ciò che una rappresentazione HTML equivalente esprime con più di 28 token, riducendo di circa la metà la lunghezza media della sequenza da predire e dimezzando il tempo di inferenza rispetto a un modello che produrrebbe HTML — un dettaglio architetturale invisibile all'utente finale, ma che spiega perché il riconoscimento delle tabelle di Docling resta utilizzabile su grandi volumi senza una GPU dedicata esclusivamente a questo uso. Nelle opzioni della pipeline sono disponibili due modalità: FAST, più rapida ma meno precisa sulle tabelle complesse, e ACCURATE, consigliata quando le tabelle contengono celle unite o più livelli di intestazione. Conservare la struttura, anche in markdown, mantiene il legame tra ogni valore e la relativa intestazione. Su un corpus in cui le risposte attese sono numeri, questo giustifica da solo un convertitore più pesante di un semplice estrattore di testo.

!
Controlla cinque documenti a mano
Prima di acquisire un intero corpus, converti cinque documenti rappresentativi e leggi il markdown prodotto, controllando attentamente le tabelle e le interruzioni di pagina. Dieci minuti dedicati a questo controllo evitano una settimana passata a dare la colpa al modello.

#I motori OCR disponibili

Docling non include un unico motore OCR: gestisce diversi motori intercambiabili a seconda del tipo di documento. EasyOCR e Tesseract (tramite tesserocr o da riga di comando) coprono la maggior parte dei casi; RapidOCR accetta modelli personalizzati; OcrMac sfrutta il riconoscimento nativo di macOS quando disponibile. La scelta avviene nelle opzioni della pipeline, non nel codice della tua applicazione, il che permette di cambiare motore senza modificare la logica di ingestione.

In pratica, una pipeline di ingestione in produzione inizia quasi sempre testando Tesseract su un campione: se produce un testo pulito, non c’è alcun motivo di sostenere il costo di EasyOCR. Il passaggio a EasyOCR si giustifica soprattutto con scansioni deteriorate, moduli parzialmente compilati a mano o lingue in cui Tesseract non riesce più a fornire buoni risultati. RapidOCR e OcrMac restano scelte di nicchia, riservate rispettivamente a un modello OCR sviluppato internamente e già addestrato e a un computer Mac isolato senza dipendenze esterne da installare.

Scegliere un motore OCR in base al documento
MotorePunto di forzaCaso d'uso tipico
TesseractVeloce su testi nitidiDocumenti digitali già scansionati correttamente
EasyOCRPiù robusto sulle scansioni deteriorate e sulla scrittura non standard, GPU opzionale tramite use_gpuArchivi, moduli, corpus eterogenei
RapidOCRSupporta modelli personalizzatiEsigenze specifiche (lingua rara, settore specializzato)
OcrMacUtilizza il motore nativo di macOS, senza dipendenze aggiuntivePostazione di lavoro Mac, piccoli volumi

#La suddivisione che segue la struttura

Un aspetto che la maggior parte delle guide sul RAG locale non spiega: Docling non si limita a convertire, ma propone anche una suddivisione adatta a ciò che ha appena ricostruito. Il suo HybridChunker parte dalla gerarchia del documento (titoli, sezioni), poi adatta la dimensione di ogni segmento al tokenizer effettivo del modello di embedding scelto: i blocchi troppo lunghi vengono suddivisi in corrispondenza degli elementi anziché nel mezzo di una frase, mentre i blocchi troppo corti che condividono lo stesso titolo vengono uniti. Il tokenizer fornito deve essere allineato a quello del modello di embedding utilizzato a valle, altrimenti la dimensione effettiva dei segmenti (in token) non corrisponde più a ciò che l'indice vettoriale si aspetta. È una suddivisione basata sulla struttura, da confrontare con una suddivisione in blocchi di caratteri che ignora i confini delle frasi: per i compromessi tra i due approcci, consultare la nostra guida sulle strategie di chunking.

#Quanto costa in termini di calcolo

Ordine di grandezza in base alla configurazione
ConfigurazioneVelocità di elaborazioneQuando basta
Solo processore, senza OCRIl più lento: qualche secondo per pagina complessaPiccoli corpus, conversioni occasionali
Solo processore, con OCRAncora più lento, l'OCR dominaAlcuni documenti scansionati
Con GPUMolto più veloce nell'analisi delle pagine, delle tabelle e nell'OCR con EasyOCRMigliaia di pagine, ingestione ripetuta

La conseguenza pratica: si converte in batch, una sola volta, e si conserva il risultato. Reindicizzare ha senso solo se la fonte cambia. E su una macchina che serve anche un modello linguistico, i due si contendono la stessa GPU tramite le opzioni di accelerazione della pipeline: acquisire un corpus mentre gli utenti pongono domande rallenta entrambi.

#La sua posizione nella catena

  1. 01
    Convertire
    Docling trasforma i tuoi file in markdown o JSON strutturato, con le tabelle intatte.
  2. 02
    Suddividere
    Con HybridChunker, seguendo la struttura individuata e il tokenizer del modello di embedding, anziché suddividere il testo ogni mille caratteri. È qui che il convertitore offre un secondo ritorno sull'investimento.
  3. 03
    Codificare e memorizzare
    Un modello di embedding locale trasforma i frammenti in vettori, memorizzati in un database vettoriale come Qdrant.
  4. 04
    Rispondere
    Un modello locale scrive a partire dai passaggi trovati, tramite Ollama o un server di inferenza locale.

#Dove ci sono ancora difficoltà

Scansioni di scarsa qualità
La precisione dell'OCR su una fotocopia storta è un limite fisico, non software.
Le impaginazioni con molti elementi grafici
Riviste, testo disposto attorno a una figura, moduli: difficili per tutti i convertitori.
Scrittura a mano
Fuori dal perimetro di questa categoria di strumenti.
I grafici complessi
La comprensione dei grafici copre i casi comuni (grafici a torta, a barre, a linee); un grafico molto specifico — mappa, diagramma tecnico, schema di architettura — può ancora essere restituito solo attraverso la legenda, senza i valori sottostanti.
Costo di ingresso
Installare i modelli per il layout, le tabelle e l'OCR comporta il download di diversi gigabyte al primo avvio; su una macchina isolata senza accesso alla rete, occorre scaricarli in anticipo.

#FAQ

Docling è gratuito?+
Sì: è un progetto open source pubblicato da IBM Research nel luglio 2024 sotto licenza MIT, oggi ospitato dalla LF AI & Data Foundation. La licenza permette l'uso commerciale senza royalty né obbligo di ripubblicare il tuo codice, e lo strumento viene eseguito localmente, senza chiave API né fatturazione per pagina o documento convertito.
Serve una GPU?+
No, Docling funziona sulla CPU. Tuttavia, l'analisi del layout, il riconoscimento delle tabelle e il motore EasyOCR si basano su modelli che possono essere eseguiti sulla GPU tramite accelerator_options: una GPU riduce notevolmente il tempo di conversione di un corpus di grandi dimensioni. Per qualche decina di documenti, la CPU è più che sufficiente.
Sa leggere i PDF scansionati?+
Sì, tramite uno dei suoi motori OCR (EasyOCR, Tesseract, RapidOCR o OcrMac a seconda della piattaforma), che va attivato per i documenti privi di un livello di testo. La qualità dipende quindi dalla scansione: un documento nitido a 300 punti per pollice viene letto bene, una fotocopia storta molto meno.
Qual è la differenza tra le modalità FAST e ACCURATE di TableFormer?+
FAST privilegia la velocità ed è adatto a tabelle semplici con una sola riga di intestazione. ACCURATE è più lento, ma è consigliato quando il documento contiene celle unite o intestazioni a più livelli, cosa frequente nei rapporti finanziari o nelle schede tecniche.
Docling o un semplice estrattore di testo?+
Un estrattore semplice è più veloce ed è adatto a testi puliti disposti su una sola colonna. Docling è giustificato per impaginazioni complesse, tabelle e corpus eterogenei che mescolano PDF, documenti Office e scansioni — cioè per la maggior parte dei documenti aziendali reali.
Docling si integra con LangChain o LlamaIndex?+
Sì, il progetto fornisce integrazioni pronte all'uso per LangChain, LlamaIndex, Crew AI e Haystack. In pratica, questo evita di dover scrivere personalmente il connettore tra la conversione dei documenti e il resto della pipeline RAG: il documento convertito da Docling arriva direttamente nel formato atteso dal caricatore di documenti di questi framework, pronto per la suddivisione in passaggi e poi per l'indicizzazione.
I dati escono dalla mia macchina?+
No, la conversione è interamente locale una volta scaricati i modelli di layout, riconoscimento delle tabelle e OCR: non è necessaria alcuna chiamata di rete durante l'elaborazione di un documento. È proprio questo il motivo per usarla con documenti riservati — contratti, cartelle cliniche o documenti contabili — che devono rimanere sul tuo computer o su un server che controlli, senza passare per un'API di terzi.
Questa guida ti è stata utile?

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