Carica un catalogo prodotti in PDF. Ricevi un file JSON con un oggetto per articolo, campi nominati e tipizzati, pronto da dare in pasto a un’API o a uno script di import.
Costo: 2 crediti · ≈ €1,80 per elaborazione. La prima elaborazione è gratuita con i crediti di benvenuto. Se poi vuoi continuare, la ricarica minima è di €3,90; i crediti non scadono. I crediti vengono trattenuti all'avvio e restituiti per intero se l'elaborazione non riesce.
- Se l'elaborazione fallisce, i crediti tornano indietro da soli.
- Il file caricato resta privato, fuori dal web, e viene eliminato automaticamente: subito dopo un'elaborazione riuscita, entro pochi giorni in ogni altro caso.
- Ogni risultato passa controlli automatici, con livello di confidenza indicato.
- Questo strumento invia a OpenAI il testo estratto dal documento solo quando la lettura sui nostri server è incerta. Dettagli in Trattamento dati & AI.
Serve un account gratuito: con i crediti di benvenuto la prima elaborazione è offerta. Registrati in 30 secondi
Guarda un esempio di risultato
Cosa fa
Estrae le schede prodotto dal catalogo e le consegna in un elenco articoli: un oggetto per articolo, con i campi sempre chiamati allo stesso modo — codice, ean, nome, descrizione, colore, taglia, categoria, marca, um, prezzo — qualunque sia l’intestazione che usa il tuo fornitore. Il blocco mappatura dice quale colonna del PDF è diventata quale campo, e le colonne che il catalogo porta in più diventano gli attributi dell’articolo, con il nome che il documento gli dà: composizione, certificazioni, imballo. L’import si scrive una volta sola, non una per fornitore.
Le varianti stampate una accanto all’altra tornano articoli distinti. Molti cataloghi non elencano i colori o le taglie uno sotto l’altro: li affiancano sulla stessa riga, una coppia codice-colore dopo l’altra, e un convertitore generico te le consegna così — un articolo spalmato su venti colonne senza nome. Qui ogni codice torna un articolo suo, con accanto il colore che il catalogo gli mette a fianco e il nome del modello che intesta la sezione. Misurato il 22 settembre 2026 su un catalogo workwear vero: dove il file consegnava 30 righe con fino a 22 colonne, l’elenco articoli ne porta 77, e varianti_espanse dice quanti vengono da righe affiancate — così il conto torna anche a chi confronta il file con il PDF.
Un articolo nasce solo da un codice scritto nel documento: niente righe dedotte, e un numero che codice non è — il numero di pagina che l’indice del catalogo stampa sotto «COD.» — non diventa un articolo. Le tabelle che non contengono codici articolo restano in tables come sono impaginate, e il blocco dice quali sono e perché.
Per chi è
Sviluppatori che alimentano PIM, e-commerce o marketplace a partire da cataloghi fornitore, e team tecnici che vogliono un formato macchina invece di un foglio di calcolo da rimappare a mano.
Come funziona
- Carichi il catalogo PDF (fino a 15 MB).
- Il motore riconosce schede prodotto e tabelle varianti, pagina per pagina.
- Attributi e prezzi vengono normalizzati: i prezzi escono come numeri JSON, non come testo. Un valore che numero non è — «a richiesta», «n.d.» — resta la scritta del documento e non diventa mai uno zero: quando capita, il riepilogo dice in quale colonna e quanti sono, perché la colonna resta dichiarata numerica. C’è un secondo caso, e la differenza sta in chi ha sbagliato: lo spazio fra le migliaia, «€ 1 559,62», lo leggiamo quando il PDF scrive l’importo tutto d’un pezzo; se invece lo stampa a pezzi separati non sappiamo distinguerlo da due colonne accostate, e piuttosto che inventare un prezzo mille volte più grande lasciamo la cella com’è scritta, come testo. Quando capita non diamo la colpa al tuo documento: il riepilogo, e le note dentro il JSON, dichiara che a non averlo letto siamo stati noi, quanti sono e in quale colonna stanno. E se una colonna che il documento porta non viene letta in nessuna riga, il risultato non si dichiara completo: te la nominiamo, e le celle restano vuote invece di essere indovinate.
- Scarichi il JSON con l’elenco prodotti e il riepilogo dell’estrazione.
Input supportati
Cataloghi in PDF con testo selezionabile (generati digitalmente) fino a 15 MB e circa 80 pagine per elaborazione, con impaginazione tabellare o a schede. I cataloghi scansionati (immagini) non sono ancora supportati: in quel caso l’elaborazione viene segnalata subito come non riuscita e non ti viene addebitato nulla. Un catalogo in parte digitale e in parte scansionato (una pagina fotografata, una tabella misure acquisita con lo scanner) viene invece elaborato e addebitato, perché il testo delle altre pagine c’è: in quel caso il risultato ti dice quali pagine non contenevano testo selezionabile e che il loro contenuto non è in questo risultato, invece di dichiararsi completo. Se invece la parte digitale non contiene tabelle — per esempio è generata al computer solo la copertina, e il resto è tutto scansionato — non resta niente da consegnare: il lavoro viene segnalato come non riuscito, ti diciamo quante pagine su quante erano senza testo selezionabile e non ti viene addebitato nulla. I PDF protetti da password vengono rifiutati allo stesso modo: senza la password le pagine non si aprono, l’elaborazione si ferma subito e non ti viene addebitato nulla. Apri il file con la sua password, salvane una copia senza protezione e carica quella. Le 80 pagine sono il tetto massimo, non la regola: quando le righe non stanno in una griglia netta la lettura passa dall’intelligenza artificiale, che riceve al massimo circa 280.000 caratteri di testo — quanto ottanta pagine di media. I due tetti sono tarati per mordere nello stesso punto: misurato l’8 settembre 2026 su dieci documenti di gara italiani veri, è esattamente quanto testo portano ottanta pagine. Solo su un documento molto più fitto della media quel limite arriva prima dell’ottantesima pagina. Il risultato dichiara sempre a quale pagina la lettura si è fermata, e il messaggio ti dice da quale pagina ripartire. Quando il documento prosegue oltre il taglio la parte letta ti viene consegnata lo stesso, con il taglio dichiarato: il lavoro si conclude e i crediti restano spesi, anche se i dati che cercavi stavano oltre. Puoi caricare come lavoro separato un PDF con le sole pagine che ti servono.
C’è una seconda perdita possibile, indipendente da questi due tetti: dentro le pagine lette l’estrazione assistita dall’intelligenza artificiale può smettere di elencare prima della fine, restituendo articoli giusti ma pochi. Ce ne accorgiamo confrontando il risultato consegnato con due letture indipendenti dello stesso documento: la griglia che legge le tabelle riga per riga e, quando la griglia non riconosce la struttura del documento, il conteggio delle righe del testo estratto che hanno la forma di una riga di tabella. Quando una delle due si scosta dal risultato, il file lo dichiara con entrambi i conteggi e si considera incompleto. Non è una garanzia — su un documento fatto in prevalenza di prosa, con qualche tabella dentro, nessuna delle due letture sa dire quante ne dovevano tornare, e una perdita lì non te la segnala nessuno: conta sempre gli articoli del file contro l’originale prima di importarli. Quando succede, però, non lo paghi: quel che manca nel file non stava oltre un limite del documento, lo abbiamo perso noi leggendo le pagine, e i crediti ti tornano indietro da soli. Ricaricare il PDF a blocchi di poche pagine per volta è il modo più efficace per recuperare gli articoli mancanti.
C’è infine un tetto che non riguarda il documento ma la nostra risposta: gli articoli tornano indietro in un’unica risposta del modello, e quella risposta ha uno spazio finito. Un documento che ne contiene moltissime lo esaurisce. Se lo esaurisce prima che ne arrivi una parte utilizzabile, il lavoro viene segnalato come non riuscito, il messaggio ti dice che il documento contiene più voci di quante riusciamo a restituirne in una volta sola e non ti viene addebitato nulla; se lo esaurisce dopo, il risultato ti viene consegnato con il taglio dichiarato fra le note e non lo paghi: a non starci dentro è stata la nostra risposta, non il tuo documento. In entrambi i casi il gesto è lo stesso: caricare il PDF a blocchi di poche pagine per volta.
Risultato
In cima al file c’è il blocco import: una riga di verdetto — quanti articoli sono pronti da importare, quanti vengono da varianti affiancate, quanti chiedono un controllo prima — poi mappatura, i campi_non_presenti (quelli che il tuo catalogo non porta: dichiarati, non lasciati vuoti), gli attributi trovati e i controlli: codici che si ripetono, articoli col solo codice e senza nome, prezzi che numeri non sono, codici a barre con la cifra di controllo sbagliata. Sono i controlli che chi importa farebbe a mano dopo, e che il gestionale segnala solo a import fatto.
Un file JSON con l’elenco degli articoli, l’intestazione dei campi riconosciuti (nome e tipo di ogni colonna) e un blocco di riepilogo: righe estratte, e di queste quante sono articoli e quante sono il riepilogo del documento. Il blocco totali che molti documenti stampano in coda alla tabella — imponibile, IVA, totale — resta nel file dove il documento lo scriveva, ma non viene contato fra gli articoli: il riepilogo dice quante righe sono e le riporta tutte, con l’etichetta che il documento usa. Il blocco porta anche colonne, pagine elaborate e confidenza complessiva dell’estrazione. Le righe che nel documento stanno da sole, senza una griglia accanto — il titolo, una nota, l’intestazione di una categoria come «Bibite fredde» in mezzo a un listino — non diventano una colonna: restano fuori dalle righe di dati. Il riepilogo le elenca una per una, con il testo che il documento riporta, e le ripete fra le note del file: così sai che cosa è rimasto fuori senza riaprire il PDF. Quando sono troppe per stare in una nota leggibile, il riepilogo dice quante ne restano fuori dall’elenco: il numero complessivo non viene mai taciuto.
Limiti
I campi disponibili dipendono da ciò che il catalogo dichiara come testo: dati presenti solo in immagini o grafici non vengono estratti. Con impaginazioni molto libere alcuni attributi possono restare vuoti; vengono conteggiati nel riepilogo e mai riempiti per deduzione. Se l’elaborazione fallisce, i crediti vengono rimborsati.
Privacy e dati
Il catalogo caricato viene conservato in un’area privata non accessibile dal web, usato solo per l’elaborazione ed eliminato automaticamente: subito dopo un’elaborazione riuscita, entro due giorni se l’elaborazione fallisce (in quel caso il file serve a capire cosa non ha funzionato). Il file JSON generato resta scaricabile solo dal tuo account per 14 giorni, poi viene eliminato. I contenuti non vengono usati per addestrare modelli.
Domande frequenti
Pago anche se il file è incompleto?
Dipende da chi ha perso gli articoli. Se il catalogo va oltre un limite scritto qui sopra — le 80 pagine, i circa 280.000 caratteri, le pagine scansionate di un PDF misto — ricevi la parte letta e la paghi: quanto leggiamo lo sai prima di caricare. Se invece qualcosa lo abbiamo perso noi dentro le pagine lette — la risposta del modello finita prima della fine dell’elenco, righe che due letture indipendenti dicono mancanti, una colonna dichiarata e mai riempita, frammenti rimasti fuori dalle colonne — il file ti arriva lo stesso, il riepilogo lo dice con le parole «non te lo facciamo pagare» e i crediti ti tornano indietro. Nel registro dei crediti trovi il movimento come «File incompleto per una nostra lettura, non addebitato».
La struttura del JSON è documentata?
Sì, ed è fissa: import (verdetto, articoli_totali, varianti_espanse, chiavi, mappatura, campi_non_presenti, attributi, controlli, articoli), poi summary con i conteggi dell’estrazione, poi tables con il catalogo come sta nel documento e le sue intestazioni originali. Dentro ogni articolo i campi si chiamano sempre allo stesso modo; quello che cambia da un catalogo all’altro sono gli attributi, che portano il nome che il documento gli dà.
Esiste una versione API?
Non ancora: Catalog → JSON API è in preparazione e non è ancora disponibile. Oggi il catalogo si carica da questa pagina e il JSON si scarica dal tuo account. La chiamata la pubblicheremo quando l’endpoint esisterà davvero, con esempi verificati contro il servizio vero.
Catalogo → JSON o Listino → JSON?
Guarda come è fatto il documento. Se è un listino — righe una sotto l’altra, codice e prezzo su ogni riga — prendi Listino → JSON, che è tarato lì e controlla anche sconti e quantità minime. Se è un catalogo — schede prodotto, colori e taglie affiancati, attributi tecnici accanto alla foto — prendi questo: riapre le varianti affiancate in un articolo ciascuna e porta gli attributi del tuo catalogo dentro l’articolo.
Che differenza c’è con Catalogo → CSV?
Il contenuto estratto è lo stesso, cambia la forma: il CSV è una tabella di testo, il JSON porta ogni articolo come oggetto con campi nominati e tipizzati — i prezzi arrivano già come numeri, senza doverli riconvertire (e i pochi valori che numeri non sono restano testo, dichiarati nel riepilogo). Scegli in base a come lavora il sistema di destinazione.