How to Convert PDF data to JSON PlatoBlockchain Data Intelligence. Vertical Search. Ai.

How to Convert PDF data to JSON

PDFs are one of the most used data formats for business documents. Many businesses and organizations depend on various tools to create and read these PDF documents.

However, it’s hard to extract specific/important data from PDFs selectively.

This is where JSON (Javascript Object Notation) comes into the picture.

It’s one of the most loved data formats for information exchange. Especially when it comes to web applications, most of the data is communicated using JSON through APIs and DB queries.

In this blog post, we’ll be looking at:

  • How Nanonets automates complex data conversion from complicated business PDF documents to structured JSON files.
  • Some free open source techniques for converting PDFs into JSON using Python, Linux and Javascript modules.
    • How to extract specific/complex data from PDFs such as tables and specific strings of text.
    • Custom workflows that can help automate the process of converting PDFs to JSON.

Nanonets converting specific PDF data to JSON outputs

Want to extract specific data  from PDF documents and convert to JSON? Check out Nanonets API to automate batch PDF to JSON conversion from any kind of technical document!


Nanonets Automated PDF to JSON Converter

  • Prijava for Nanonets’ free plan that offers a 100 page credit – kreditna kartica ni potrebna.
  • Add a batch of your business PDF files
  • Nanonets auto-captures fields from a range of document types (invoices, receipts, driver’s license, passports & tables)
    • You can also train Nanonets’ AI to detect/capture just the data fields of your interest from any kind of document!
  • Verify the extracted data and export as JSON outputs
    • You can also integrate Nanonets with a host of ERP software – načrtujte klic with our AI experts to test-drive your use case.
  • Oglejte si našo API za OCR to automate PDF to JSON workflows
How to Convert PDF data to JSON PlatoBlockchain Data Intelligence. Vertical Search. Ai.
PDF to JSON conversion with Nanonets

Želite zajemanje podatkov from PDF documents and convert to JSON, csv or Excel? Find out how Nanonets can help.

How to Convert PDF data to JSON PlatoBlockchain Data Intelligence. Vertical Search. Ai.
Super srečen uporabnik Nanonets


Potreba po pretvorbi PDF v JSON

Almost every business relies on documents for information sharing. These can be documentation, invoices, tax filings, receipts, medical reports and so much more.

These documents are often shared/received as PDFs.

But if you want to search for critical information or build a dashboard to analyse and store all the important information, manually collecting data from these PDFs can be an uphill task.

If the PDFs are electronically generated, we can copy-paste information into data sources; else, we might have to use OCR and machine learning techniques to extract information.

Also, the data in the PDFs is not organised or directly machine-readable. Therefore, we might have to search for information manually.

But when it comes to JSON, everything is organised in key-value pairs. Here’s an example.

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

If you can see the above JSON format, the data is more organised, and you could also share this information on the web more conveniently. This is why exporting data from PDFs into JSON is crucial for a lot of companies.

Poslovne prednosti, ki jih prinaša JSON

JSON data format has a lot of advantages over PDFs for businesses:

  1. JSON je hitrejši: JSON syntax is easy to use; whenever you’re trying to parse through any JSON data, the execution is much faster when compared to PDFs and other data formats. This is because the syntax is lightweight and executes the response quickly.
  2. Bolj berljivo: Podatki JSON so bolj berljivi; imeli bomo enostavno preslikavo podatkov s ključi in vrednostmi. Če torej kaj iščete ali organizirate podatke iz datotek PDF, bo JSON bolj priročen. Poleg tega JSON podpira gnezdenje podatkov in s tem lahko podatke iz tabel shranjujemo učinkoviteje.
  3. Priročna shema: JSON je univerzalen za večino operacijskih sistemov in programskih jezikov; Če torej izdelujete programsko opremo ali spletno aplikacijo za avtomatizacijo poslovanja, mora biti JSON prava oblika zapisa podatkov. Tudi večina spletnih brskalnikov podpira format JSON; zato se nam ni treba dodatno potruditi za uporabo programske opreme drugih proizvajalcev za branje podatkov JSON.
  4. Preprosta skupna raba: JSON je najboljše orodje za skupno rabo podatkov katere koli velikosti, tudi velikih tabel ali besedila itd. To je zato, ker JSON shranjuje podatke v nizih, zato je prenos podatkov bolj dostopen. Iz tega razloga je JSON vrhunska oblika datoteke za spletne API-je in spletni razvoj.

In the next section, let’s look at some of the challenges that we may face when converting PDFs to JSON format.


Nanonets ima veliko zanimivega primeri uporabe ki bi lahko optimizirali vašo poslovno uspešnost, prihranili stroške in spodbudili rast. Ugotovite kako se lahko primeri uporabe Nanonets nanašajo na vaš izdelek.


Izzivi s pretvorbo iz PDF v JSON

Let’s look at some of the challenges in exporting from PDFs to JSON.

  1. Odkrivanje pisav: Ljudje uporabljajo različne pisave, barve in poravnave znotraj dokumentov PDF. Zato jih razčlenjevalci res težko berejo. Med izvozom tega bomo morali določiti posebna pravila, tako da bodo po razčlenjevanju podatkov vsi podatki pravilno preslikani v obliki JSON. V takih primerih se regularni izrazi pogosto uporabljajo, da izberejo določeno besedilo in ga nato izvozijo v pravi ključ v obliki JSON.
  2. Odkrivanje besedila iz optično prebranih dokumentov: Kot smo že omenili, bomo morali PDF, ko niso elektronsko ustvarjeni, uporabiti OCR in izbira OCR je ključnega pomena. Čeprav veliko uporabnikov preizkuša odprtokodna orodja, kot je tesseract, imajo svoje omejitve. Če je na primer besedilo pri zajemanju nepravilno zajeto ali neusklajeno, tesseract morda ne bo deloval in je izbira drugih orodij lahko draga.
  1. Prepoznavanje tabel: Večina poslovnih dokumentov vsebuje tabelarne informacije in določanje teh tabel iz dokumentov PDF in pretvorba v JSON je zahtevna naloga. Obstaja nekaj knjižnic, ki temeljijo na Pythonu in Javi, ki lahko pomagajo pri pridobivanju tabel iz elektronsko izdelanih dokumentov PDF.
  2. Prepoznavanje tabel iz optično prebranih datotek PDF: When the PDFs are scanned, most packages don’t work. In this case, if we choose an open-source OCR like tesseract, it could extract text but can lose all the table formatting. Therefore, it’s challenging to pick outline items in an incorrect format. This is where we’ll have to use Machine Learning and Deep Learning-based algorithms. Some popular algorithms are based on CNNs, and there has been lots of research going on in improving these algorithms.

Spodaj je nekaj raziskovalnih člankov, ki rešujejo problem pridobivanja tabel iz dokumentov:

V naslednjem razdelku si oglejmo, kako razčleniti podatke iz PDF-ja za ustvarjanje datotek JSON.

Parsing Data from PDFs and Generating JSON Files using Python and Linux

Parsing through PDFs isn’t a complicated task if you have developer experience.

Firstly, we’ll have to check if our PDF files contain text data or consist of scanned images. We’d have to check if we can extract text data or pipe the files through an OCR library if no text was returned.

This could be achieved using a Python library or by relying on some Linux command-line utilities.

Pdftotext is one of the most popular libraries to parse electronic PDFs. We could use this to convert all the PDF data into text format and then push it into a JSON format.

Here are some of the instructions on how we can use pdftotext in razčlenite PDF v računalniku Linux.

Najprej namestite orodja ukazne vrstice:

sudo apt-get install poppler-utils

Nato uporabite pdftotext in dodajte izvorno pot datoteke PDF in lokacijo ciljne besedilne datoteke.

pdftotext {PDF-file} {text-file}

S tem bi lahko iz datotek PDF izvlekli vse berljivo besedilo.

To generate a JSON file, we will have to again work on a script based on our data that can parse through the text and export them into relevant key-value pairs.

Here’s an example script that we wrote in Python that converts a simple .txt datoteko v obliki 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()

Podatki v besedilni datoteki naj bodo:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Tu smo najprej uvozili vgrajeno knjižnico JSON. Zdaj ustvarimo podatkovni tip slovarja za shranjevanje vseh parov ključ-vrednost iz besedilnih datotek. Nato preletimo vsako vrstico datoteke in jo odstranimo v ukaz, opis in shranimo v ustvarjeni slovar. Nazadnje naredimo novo datoteko JSON in uporabimo datoteko json.dump metoda za izpis slovarja v datoteko JSON z določeno konfiguracijo, ki vključuje razvrščanje in zamike.

Vendar pa naši podatki iz datotek PDF ne bodo tako organizirani, kot je navedeno v primeru; zato bomo morda morali uporabiti prilagojene cevovode in skripte za zapleteno oblikovanje besedila. V takih primerih orodja kot Nanoneti bo odlična izbira, v naslednjih razdelkih pa bomo preučili tudi, kako Nanonets to težavo rešuje na veliko lažji način.

Pred tem si oglejmo še eno knjižnico, ki pretvori PDF v JSON s pomočjo node.js:

pdf2json je node.js modul, ki razčleni in pretvori PDF iz binarnega v format JSON; je zgrajena z pdf.js in jo razširi z interaktivnimi elementi obrazca in razčlenjevanjem besedilne vsebine zunaj brskalnika.

Tu je primer uporabe tega modula za razčlenitev datotek JSON:

Najprej se prepričajte, da imate npm namestite in namestite modul z naslednjim ukazom:

npm install pdf2json

Nato lahko v strežniku vozlišč uporabite naslednji delček, ki naloži pdf2json in izvozi datoteke pdf v 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");

Zgornji delček kode uporablja primer datoteke JSON iz modula in jo izvozi v datoteko JSON. To lahko preverimo v ./test/target/ folder in your project. B

elow, you’ll find a screenshot of how the module exports the JSON files:

How to Convert PDF data to JSON PlatoBlockchain Data Intelligence. Vertical Search. Ai.
JSON export

For parsing through PDFs in tables, these libraries might just not work!


You’ll have to leverage OCR & Machine Learning algorithms to extract tabular data into JSON. Nanonets does just that as you can see below:

How to Convert PDF data to JSON PlatoBlockchain Data Intelligence. Vertical Search. Ai.
Nanonets converting data from PDF to JSON 


Pretvorba podatkov po meri iz PDF v JSON

Včasih bomo med pridobivanjem podatkov iz poslovnih dokumentov morda potrebovali prilagoditev. Recimo, če želimo le določene strani ali tabele, tega ne moremo storiti neposredno. V tem primeru bomo morda morali razčlenjevalcem zagotoviti dodatna pravila, kar je spet dolgotrajno. Pa poglejmo, kako lahko naredimo prilagoditve in ukrepe, ki jih potrebuje večina ljudi.

Spodaj je nekaj dejanj, ki so potrebna za prilagajanje pretvorbe PDF v JSON:

  • Iz PDF-jev izvlecite samo določeno besedilo ali strani
  • Izvlecite vse tabele iz dokumentov PDF
  • Izvlecite določene stolpce iz določenih tabel v datotekah PDF
  • Pred izvozom v JSON filtrirajte besedilo iz datotek PDF
  • Ustvarjanje ugnezdenega JSON na podlagi izvlečenih podatkov iz datotek PDF
  • Oblikujte strukturo JSON na podlagi podatkov
  • Ustvari, izbriši in posodobi vrednosti nekaterih polj v JSON po ekstrakciji

To je nekaj dejanj, ki so pogosto potrebna za shranjevanje naših podatkov na različne načine, ali recimo, če gradimo API-je za aplikacijo. Poglejmo, kako jih lahko dosežemo.

Izvlečenje določenega besedila: V PDF-jih lahko določeno besedilo ekstrahiramo z uporabo regularnih izrazov; recimo, če želimo, da vsa e-poštna sporočila in telefonske številke uporabljajo regularni izraz, jih lahko izberemo. Če so datoteke PDF v skenirani obliki, jih moramo usposobiti na algoritmu za poglobljeno učenje, ki lahko razume postavitve dokumentov PDF in izvleče polja na podlagi koordinat in pripisov k podatkom o vadbi. Eno izmed najbolj priljubljenih odprtokodnih skladišč za razumevanje postavitev dokumentov in pridobivanje besedila je LayoutML in se na BERT modelih izobražuje za pridobivanje besedila po meri. Vendar bi morali imeti dovolj podatkov, da dosežemo večjo natančnost pri pridobivanju besedila.

Prilagajanje tabele: Kot smo že omenili, lahko tabele izvlečemo s pomočjo knjižnic, kot sta Camelot in Tabula-py, ali z uporabo OCR in algoritmov, ki temeljijo na globokem učenju. Toda za prilagajanje bomo morali uporabiti knjižnice, kot so pande; to nam bo omogočilo ustvarjanje, posodabljanje in seriranje podatkov iz tabel. Uporablja podatkovni tip po meri, imenovan podatkovni okvir, ki se pogosto uporablja za manipulacijo in prilagajanje podatkov tabele. Druge prednosti uporabe pand vključujejo pisanje funkcij po meri, ki lahko med postopkom ekstrakcije izvajajo določene matematične operacije.

Oblikovanje podatkov JSON: Po izvozu datotek PDF v JSON je njihovo oblikovanje enostavna naloga, saj imamo bolj prilagodljiv podatkovni tip, ki je par ključ-vrednost. Lahko bi razvili preproste skripte ali uporabili spletna orodja za iskanje po teh parih ključ / vrednost in njihovo oblikovanje. Nekateri najpogostejši parametri formatiranja vključujejo zamike, ločila, tipke za razvrščanje, krožne preglede, preverjanje podatkov. Če se JSON uporablja kot API, lahko za formatiranje podatkov in interakcijo z API-ji uporabimo Postman ali katero koli razširitev brskalnika.


Want to extract information from PDF documents and convert them into a JSON format? Check out Nanonets to automate export of any information from any PDF document into JSON.


Časovni žig:

Več od AI in strojno učenje