Come convertire i dati PDF in JSON PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Come convertire i dati PDF in JSON

I PDF sono uno dei formati di dati più utilizzati per i documenti aziendali. Molte aziende e organizzazioni dipendono da vari strumenti per creare e leggere questi documenti PDF.

Tuttavia, è difficile estrarre selettivamente dati specifici/importanti dai PDF.

È qui che entra in gioco JSON (Javascript Object Notation).

È uno dei formati dati più amati per lo scambio di informazioni. Soprattutto quando si tratta di applicazioni web, la maggior parte dei dati viene comunicata utilizzando JSON tramite API e Interrogazioni sul database.

In questo post del blog, esamineremo:

  • In che modo Nanonets automatizza la conversione di dati complessi da complicati documenti PDF aziendali a file JSON strutturati.
  • Alcune tecniche open source gratuite per convertire PDF in JSON utilizzando moduli Python, Linux e Javascript.
    • Come estrarre dati specifici/complessi da PDF come tabelle e stringhe di testo specifiche.
    • Flussi di lavoro personalizzati che possono aiutare ad automatizzare il processo di conversione dei PDF in JSON.

Nanonet che convertono dati PDF specifici in output JSON

Vuoi estrarre dati specifici da documenti PDF e convertirli in JSON? Guardare API Nanonets per automatizzare la conversione batch da PDF a JSON da qualsiasi tipo di documento tecnico!


Convertitore automatizzato da PDF a JSON di Nanonets

  • Iscriviti adesso per il piano gratuito di Nanonets che offre un credito di 100 pagine – nessuna carta di credito necessaria.
  • Aggiungi un batch di file PDF aziendali
  • Nanonets acquisisce automaticamente i campi da una vasta gamma di tipi di documenti (fatture, ricevute, patenti di guida, passaporti e tabelle)
    • Puoi anche addestrare l'intelligenza artificiale di Nanonets a rilevare/acquisire solo i campi dati di tuo interesse da qualsiasi tipo di documento!
  • Verifica i dati estratti ed esportali come output JSON
    • Puoi anche integrare Nanonet con una serie di software ERP: pianifica una chiamata con i nostri esperti di intelligenza artificiale per testare il tuo caso d'uso.
  • Controlla il nostro API OCR per automatizzare i flussi di lavoro da PDF a JSON
Come convertire i dati PDF in JSON PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
Conversione da PDF a JSON con Nanonets

Vuoi acquisire dati da documenti PDF e convertirli in JSON, CSV o Excel? Scopri come i Nanonet possono aiutarti.

Come convertire i dati PDF in JSON PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
Un utente super felice di Nanonets


La necessità della conversione da PDF a JSON

Quasi tutte le aziende fanno affidamento sui documenti per la condivisione delle informazioni. Possono trattarsi di documentazione, fatture, dichiarazioni fiscali, ricevute, referti medici e molto altro ancora.

Questi documenti sono spesso condivisi/ricevuti come PDF.

Ma se desideri cercare informazioni critiche o creare una dashboard per analizzare e archiviare tutte le informazioni importanti, raccogliere manualmente i dati da questi PDF può essere un compito arduo.

Se i PDF vengono generati elettronicamente, possiamo copiare e incollare le informazioni nelle origini dati; altrimenti, potremmo doverlo fare utilizzare l'OCR e tecniche di apprendimento automatico per estrarre informazioni.

Inoltre, i dati nei PDF non sono organizzati o direttamente leggibili dalla macchina. Pertanto, potremmo dover cercare le informazioni manualmente.

Ma quando si tratta di JSON, tutto è organizzato in coppie chiave-valore. Ecco un esempio.

{
  "company_name": "Company Name",
  "Invoice_date": "Date ",
  "Invoice_total":"$0.00",
  "Invoice_line_items: "",
  "Invoice_tax": ""
} 

Se riesci a visualizzare il formato JSON riportato sopra, i dati saranno più organizzati e potresti anche condividere queste informazioni sul Web in modo più conveniente. Questo è il motivo per cui l’esportazione dei dati dai PDF a JSON è fondamentale per molte aziende.

Vantaggi aziendali che derivano da JSON

Il formato dati JSON presenta molti vantaggi rispetto ai PDF per le aziende:

  1. JSON è più veloce: la sintassi JSON è facile da usare; ogni volta che provi ad analizzare dati JSON, l'esecuzione è molto più veloce rispetto ai PDF e ad altri formati di dati. Questo perché la sintassi è leggera ed esegue rapidamente la risposta.
  2. Più leggibile: i dati JSON sono più leggibili; avremo una semplice mappatura dei dati con chiavi e valori. Pertanto, se stai cercando qualcosa o organizzi i dati dai PDF, JSON sarà più conveniente. Inoltre, JSON supporta l'annidamento dei dati e, in questo modo, i dati delle tabelle possono essere archiviati in modo più efficiente.
  3. Schema conveniente: JSON è universale per la maggior parte dei sistemi operativi e dei linguaggi di programmazione; Pertanto, se stai creando un software o un'applicazione web per automatizzare la tua attività, JSON dovrebbe essere il formato di dati giusto. Inoltre, la maggior parte dei browser Web supporta il formato JSON; quindi non dobbiamo fare ulteriori sforzi per utilizzare software di terze parti per leggere i dati JSON.
  4. Condivisione facile: JSON è lo strumento migliore per condividere dati di qualsiasi dimensione, anche tabelle o testo di grandi dimensioni, ecc. Questo perché JSON memorizza i dati negli array, quindi il trasferimento dei dati lo rende più accessibile. Per questo motivo, JSON è un formato di file superiore per le API web e lo sviluppo web.

Nella sezione successiva, esaminiamo alcune delle sfide che potremmo dover affrontare durante la conversione dei PDF in formato JSON.


Nanonets ha molte cose interessanti casi d'uso che potrebbe ottimizzare le prestazioni della tua azienda, risparmiare sui costi e aumentare la crescita. Scoprire come i casi d'uso di Nanonets possono essere applicati al tuo prodotto.


Sfide con la conversione da PDF a JSON

Diamo un'occhiata ad alcune delle sfide nell'esportazione da PDF a JSON.

  1. Rilevamento dei caratteri: le persone utilizzano caratteri, colori e allineamenti diversi all'interno dei documenti PDF. Pertanto, è davvero difficile per i parser leggerli. Inoltre, durante l'esportazione, dovremo definire regole specifiche in modo che dopo che il parser ha estratto i dati, tutte le informazioni dovrebbero essere mappate correttamente nel formato JSON. In tali casi, le espressioni regolari sono ampiamente utilizzate per selezionare un testo specifico e quindi esportarlo nella chiave corretta nel formato JSON.
  2. Rilevamento del testo da documenti scansionati: Come discusso, quando i PDF non vengono generati elettronicamente, dovremo utilizzare un OCR e la scelta di un OCR è fondamentale. Sebbene molti utenti provino strumenti open source come tesseract, hanno i loro limiti. Ad esempio, se il testo viene acquisito in modo errato o non è allineato durante l'acquisizione, tesseract potrebbe non funzionare e la scelta di altri strumenti può essere costosa.
  1. Tabelle identificativeNota: la maggior parte dei documenti aziendali contiene informazioni tabulari e determinare queste tabelle dai documenti PDF e convertirle in JSON è un compito impegnativo. Esistono alcune librerie basate su Python e Java che possono aiutare a estrarre tabelle da documenti PDF creati elettronicamente.
  2. Identificazione delle tabelle dai PDF scansionati: Quando i PDF vengono scansionati, la maggior parte dei pacchetti non funziona. In questo caso, se scegliamo un OCR open source come tesseract, potrebbe estrarre il testo ma perdere tutta la formattazione della tabella. Pertanto, è difficile selezionare gli elementi della struttura in un formato errato. È qui che dovremo utilizzare algoritmi basati sul Machine Learning e sul Deep Learning. Alcuni algoritmi popolari sono basati sulle CNN e sono state condotte molte ricerche per migliorare questi algoritmi.

Di seguito sono riportati alcuni dei documenti di ricerca che risolvono il problema dell'estrazione di tabelle dai documenti:

Nella prossima sezione, diamo un'occhiata a come analizzare i dati da PDF per generare file JSON.

Analisi dei dati da PDF e generazione di file JSON utilizzando Python e Linux

L'analisi dei PDF non è un compito complicato se hai esperienza da sviluppatore.

Per prima cosa dovremo verificare se i nostri file PDF contengono dati di testo o sono costituiti da immagini scansionate. Dovremmo verificare se possiamo estrarre dati di testo o convogliare i file attraverso una libreria OCR se non viene restituito testo.

Ciò potrebbe essere ottenuto utilizzando una libreria Python o facendo affidamento su alcune utilità della riga di comando di Linux.

PDFtotext è una delle librerie più popolari per analizzare i PDF elettronici. Potremmo usarlo per convertire tutti i dati PDF in formato testo e quindi inserirli in un formato JSON.

Ecco alcune delle istruzioni su come possiamo usarlo pdftotext e analizzare tramite PDF su una macchina Linux.

Innanzitutto, installa gli strumenti da riga di comando:

sudo apt-get install poppler-utils

Quindi, usa il pdftotext comando e aggiungi il percorso di origine del file PDF e la posizione del file di testo di destinazione.

pdftotext {PDF-file} {text-file}

Con questo, dovremmo essere in grado di estrarre tutto il testo leggibile dai file PDF.

Per generare un file JSON, dovremo lavorare nuovamente su uno script basato sui nostri dati in grado di analizzare il testo ed esportarlo in coppie chiave-valore pertinenti.

Ecco uno script di esempio che abbiamo scritto in Python che converte un semplice .txt file in formato JSON.

import json
  
filename = 'data.txt'
 
dict1 = {}
  
with open(filename) as fh:
  
    for line in fh:
        command, description = line.strip().split(None, 1)
        dict1[command] = description.strip()
  
# creating json file
# the JSON file is named as test1
out_file = open("test1.json", "w")
json.dump(dict1, out_file, indent = 4, sort_keys = False)
out_file.close()

Considera i dati all'interno del file di testo come:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Qui, abbiamo prima importato la libreria JSON incorporata. Ora creiamo un tipo di dati del dizionario per memorizzare tutte le coppie chiave-valore dai file di testo. Successivamente, iteriamo su ogni riga del file e la estraiamo in comando, descrizione e la manteniamo nel dizionario creato. Infine, creiamo un nuovo file JSON e usiamo il json.dump per scaricare il dizionario nel file JSON con una configurazione specifica che include l'ordinamento e il rientro.

Tuttavia, i nostri dati dai PDF non saranno organizzati come indicato nell'esempio; pertanto, potremmo dover utilizzare pipeline e script personalizzati per eseguire complicate formattazioni di testo. In questi casi, strumenti come nanonet sarà un'ottima scelta e vedremo anche come Nanonets risolve questo problema in un modo molto più semplice nelle sezioni seguenti.

Prima di ciò, diamo un'occhiata a un'altra libreria che converte PDF in JSON usando node.js:

pdf2json è un node.js modulo che analizza e converte PDF da formato binario a JSON; è costruito con pdf.js e lo estende con elementi di modulo interattivi e analisi del contenuto di testo al di fuori del browser.

Ecco un esempio di utilizzo di questo modulo per analizzare i tuoi file JSON:

Per prima cosa, assicurati di avere npm installer e installare il modulo utilizzando il seguente comando:

npm install pdf2json

Successivamente, nel tuo server del nodo, puoi utilizzare il seguente frammento che carica il pdf2json ed esporta i pdf in JSON:

let fs = require('fs'),
        PDFParser = require("pdf2json");
 
    let pdfParser = new PDFParser();
 
    pdfParser.on("pdfParser_dataError", errData => console.error(errData.parserError) );
    pdfParser.on("pdfParser_dataReady", pdfData => {
        fs.writeFile("./pdf2json/test/F1040EZ.json", JSON.stringify(pdfData));
    });
 
    pdfParser.loadPDF("./pdf2json/test/pdf/fd/form/F1040EZ.pdf");

Il frammento di codice sopra utilizza un file JSON di esempio dal modulo e lo esporta in un file JSON, possiamo verificarlo nel ./test/target/ cartella nel tuo progetto. B

Di seguito troverai uno screenshot di come il modulo esporta i file JSON:

Come convertire i dati PDF in JSON PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
Esportazione JSON

Per l'analisi dei PDF nelle tabelle, queste librerie potrebbero non funzionare!


Dovrai sfruttare gli algoritmi OCR e Machine Learning per estrarre i dati tabulari in JSON. Nanonets fa proprio questo, come puoi vedere di seguito:

Come convertire i dati PDF in JSON PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
Nanonet che convertono i dati da PDF a JSON 


Conversione dati personalizzata da PDF a JSON

A volte, durante l'estrazione dei dati dai documenti aziendali, potremmo richiedere la personalizzazione. Ad esempio, diciamo se vogliamo solo determinate pagine o tabelle, non possiamo farlo direttamente. In questo caso, potrebbe essere necessario fornire regole aggiuntive ai parser, il che richiede ancora molto tempo. Ma vediamo come possiamo eseguire la personalizzazione e le azioni di cui la maggior parte delle persone ha bisogno.

Di seguito sono riportate alcune delle azioni necessarie per la personalizzazione nella conversione da PDF a JSON:

  • Estrai solo testo o pagine particolari dai PDF
  • Estrai tutte le tabelle dai documenti PDF
  • Estrai colonne particolari da determinate tabelle nei PDF
  • Filtra il testo dai PDF prima di esportarli in JSON
  • Creazione di JSON nidificato in base ai dati estratti dai PDF
  • Formatta la struttura JSON in base ai dati
  • Crea, elimina, aggiorna i valori di determinati campi in JSON dopo l'estrazione

Queste sono alcune delle azioni che sono spesso richieste per archiviare i nostri dati in modi diversi, o diciamo se stiamo costruendo API per un'applicazione. Vediamo come possiamo raggiungere questi obiettivi.

Estrazione di un testo particolare: Nei PDF, potremmo estrarre il testo particolare usando le espressioni regolari; ad esempio, supponiamo che se vogliamo tutte le e-mail e i numeri di telefono utilizzando l'espressione regolare, possiamo selezionarli. Se i PDF sono in formato scansionato, dobbiamo addestrarli su un algoritmo di deep learning in grado di comprendere i layout dei PDF ed estrarre i campi in base alle coordinate e alle annotazioni apportate ai dati di addestramento. Uno dei repository open source più popolari per comprendere i layout dei documenti e l'estrazione del testo è LayoutML e si addestra sui modelli BERT per l'estrazione di testo personalizzata. Tuttavia, dovremmo avere dati sufficienti per ottenere una maggiore precisione nell'estrazione del testo.

Personalizzazione della tabella: Come discusso, le tabelle possono essere estratte utilizzando librerie come Camelot e Tabula-py o utilizzando OCR e algoritmi basati sull'apprendimento profondo. Ma per la personalizzazione, dovremo usare librerie come i panda; questo ci permetterà di creare, aggiornare e serializzare i dati dalle tabelle. Utilizza un tipo di dati personalizzato chiamato frame di dati, ampiamente utilizzato per la manipolazione e la personalizzazione dei dati della tabella. Altri vantaggi dell'utilizzo dei panda includono la scrittura di funzioni personalizzate che possono eseguire determinate operazioni matematiche durante il processo di estrazione.

Formattazione dei dati JSON: dopo aver esportato i PDF in JSON, la loro formattazione è un'attività semplice, poiché abbiamo un tipo di dati più personalizzabile che sono le coppie chiave-valore. Potremmo sviluppare semplici script o utilizzare strumenti online per cercare tra queste coppie chiave-valore e formattarle. Alcuni dei parametri più comuni per la formattazione includono rientri, separatori, chiavi di ordinamento, controlli circolari, controlli dei dati. Se il JSON viene utilizzato come API, potremmo utilizzare Postman o qualsiasi estensione del browser per formattare i dati e interagire con le API.


Vuoi estrarre informazioni da documenti PDF e convertirli in un formato JSON? Dai un'occhiata a Nanonets per automatizzare l'esportazione di qualsiasi informazione da qualsiasi documento PDF in JSON.


Timestamp:

Di più da AI e apprendimento automatico