PDF-adatok konvertálása JSON PlatoBlockchain Data Intelligence-re. Függőleges keresés. Ai.

PDF-adatok konvertálása JSON-ba

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

  • Regisztrálj for Nanonets’ free plan that offers a 100 page credit – nincs szükség hitelkártyára.
  • 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 – ütemezzen be egy hívást with our AI experts to test-drive your use case.
  • Nézze meg a OCR API to automate PDF to JSON workflows
PDF-adatok konvertálása JSON PlatoBlockchain Data Intelligence-re. Függőleges keresés. Ai.
PDF to JSON conversion with Nanonets

Szeretne adatgyűjtés from PDF documents and convert to JSON, csv or Excel? Find out how Nanonets can help.

PDF-adatok konvertálása JSON PlatoBlockchain Data Intelligence-re. Függőleges keresés. Ai.
Egy szuperboldog Nanonets felhasználó


A PDF-ből JSON-ba konvertálás szükségessége

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.

A JSON-hoz tartozó üzleti előnyök

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

  1. A JSON gyorsabb: 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. Olvashatóbb: A JSON adatok olvashatóbbak; egyszerű adatleképezésünk lesz kulcsokkal és értékekkel. Ezért, ha keres valamit, vagy PDF-ekből rendezi az adatokat, a JSON kényelmesebb lesz. Ezenkívül a JSON támogatja az adatok egymásba ágyazását, és ezzel a táblákból származó adatok hatékonyabban tárolhatók.
  3. Kényelmes séma: A JSON univerzális a legtöbb operációs rendszerhez és programozási nyelvhez; Ezért ha bármilyen szoftvert vagy webalkalmazást készít vállalkozása automatizálására, a JSON-nak kell a megfelelő adatformátumnak lennie. Ezenkívül a legtöbb webböngésző támogatja a JSON formátumot; így nem kell további erőfeszítéseket tennünk, hogy harmadik féltől származó szoftvert használjunk a JSON-adatok olvasásához.
  4. Egyszerű megosztás: A JSON a legjobb eszköz bármilyen méretű adat megosztására, még nagy táblázatok vagy szövegek stb. megosztására is. Ennek az az oka, hogy a JSON adatokat tárol a tömbökben, így az adatátvitel könnyebben hozzáférhetővé teszi azokat. Emiatt a JSON kiváló fájlformátum a webes API-k és a webfejlesztés számára.

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


A Nanonets sok érdekességgel rendelkezik használati esetek amely optimalizálhatja üzleti teljesítményét, költséget takaríthat meg és fellendítheti a növekedést. Kitalál hogyan vonatkozhatnak a Nanonets használati esetei az Ön termékére.


Kihívások a PDF-ből JSON-ba konvertálással

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

  1. Betűtípusok észlelése: Az emberek különböző betűtípusokat, színeket és igazításokat használnak a PDF dokumentumokon belül. Ezért az elemzőknek nagyon nehéz ezeket elolvasni. Ezenkívül ennek exportálása során meg kell határoznunk bizonyos szabályokat, hogy miután az elemző kivonatolja az adatokat, az összes információt megfelelően le kell képezni a JSON formátumban. Ilyen esetekben a reguláris kifejezéseket széles körben használják bizonyos szövegek kiválasztására, majd a megfelelő JSON formátumú kulcsra történő exportálására.
  2. Szöveg észlelése beolvasott dokumentumokból: Amint már említettük, ha a PDF-eket nem elektronikusan állítják elő, akkor OCR-t kell használnunk, és az OCR kiválasztása kulcsfontosságú. Bár sok felhasználó kipróbálja a nyílt forráskódú eszközöket, például a tesseract-et, megvannak a maguk korlátai. Például, ha a szöveget nem megfelelően rögzítik vagy rosszul igazítják rögzítéskor, előfordulhat, hogy a tesseract nem működik, és más eszközök kiválasztása költséges lehet.
  1. Azonosító táblázatok: A legtöbb üzleti dokumentum táblázatos információkat tartalmaz, és ezeknek a tábláknak a PDF-dokumentumokból történő meghatározása és JSON-ba konvertálása nagy kihívást jelent. Vannak olyan Python és Java alapú könyvtárak, amelyek segíthetnek táblázatok kinyerésében az elektronikusan készített PDF dokumentumokból.
  2. Táblázatok azonosítása beolvasott PDF-ekből: 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.

Az alábbiakban néhány olyan kutatási cikk található, amelyek megoldják a táblázatok dokumentumokból történő kinyerésének problémáját:

A következő részben nézzük meg, hogyan lehet adatokat elemezni PDF-ből JSON-fájlok létrehozásához.

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 és PDF-en keresztül elemezni Linux gépen.

Először telepítse a parancssori eszközöket:

sudo apt-get install poppler-utils

Ezután használja a pdftotext parancsot, és adja hozzá a PDF-fájl forrásútvonalát és a cél szövegfájl helyét.

pdftotext {PDF-file} {text-file}

Ezzel a PDF-fájlokból ki kell tudnunk bontani az összes olvasható szöveget.

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 fájlt JSON formátumba.

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()

Tekintsük a szövegfájlban lévő adatokat a következőknek:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Itt először importáltuk a beépített JSON-könyvtárat. Most létrehozunk egy szótári adattípust a szöveges fájlok összes kulcs-érték párjának tárolására. Ezután a fájl minden sorát iteráljuk, és parancsra, leírásra bontjuk, és megtartjuk a létrehozott szótárban. Végül készítünk egy új JSON-fájlt, és használjuk a json.dump módszer a szótár JSON-fájlba való kiírásához egy adott konfigurációval, amely magában foglalja a rendezést és a behúzást.

A PDF-ekből származó adataink azonban nem lesznek olyan rendszerezettek, mint a példában; ezért előfordulhat, hogy egyéni folyamatokat és szkripteket kell használnunk a bonyolult szövegformázáson. Ilyen esetekben olyan eszközök, mint Nanonetek nagyszerű választás lesz, és a következő részekben azt is megvizsgáljuk, hogy a Nanonets hogyan oldja meg ezt a problémát sokkal könnyebben.

Előtte nézzünk meg még egy olyan könyvtárat, amely a PDF-t JSON-ba konvertálja a node.js használatával:

pdf2json egy olyan node.js modul, amely elemzi és konvertálja a PDF-eket binárisból JSON formátumba; azzal van megépítve pdf.js és kibővíti interaktív űrlapelemekkel és a böngészőn kívüli szöveges tartalom elemzésével.

Íme egy példa a modul használatával a JSON-fájlok elemzésére:

Először is győződjön meg róla, hogy van npm telepítőt, és telepítse a modult a következő paranccsal:

npm install pdf2json

Ezután a csomópontszerveren használhatja a következő kódrészletet, amely betölti a pdf2json és exportálja a pdf-eket JSON-ba:

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");

A fenti kódrészlet egy példa JSON fájlt használ a modulból, és exportálja egy JSON fájlba, ezt ellenőrizhetjük a ./test/target/ folder in your project. B

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

PDF-adatok konvertálása JSON PlatoBlockchain Data Intelligence-re. Függőleges keresés. 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:

PDF-adatok konvertálása JSON PlatoBlockchain Data Intelligence-re. Függőleges keresés. Ai.
Nanonets converting data from PDF to JSON 


Személyre szabott adatkonverzió PDF-ből JSON-ba

Néha az adatok üzleti dokumentumokból történő kinyerése során szükségünk lehet a testreszabásra. Például, ha csak bizonyos oldalakat vagy táblázatokat szeretnénk, akkor azt közvetlenül nem tudjuk megtenni. Ebben az esetben előfordulhat, hogy további szabályokat kell megadnunk az elemzőknek, ami ismét időigényes. De nézzük meg, hogyan tudjuk elvégezni a testreszabást és azokat a műveleteket, amelyekre a legtöbb embernek szüksége van.

Az alábbiakban felsorolunk néhány olyan műveletet, amelyek szükségesek a PDF-ből JSON-ba konvertáláshoz:

  • Csak bizonyos szövegeket vagy oldalakat vonjon ki a PDF-ekből
  • Bontsa ki az összes táblázatot a PDF dokumentumokból
  • Adott oszlopok kibontása bizonyos táblázatokból PDF-ben
  • Szűrje ki a PDF-fájlok szövegét, mielőtt exportálja őket JSON-ba
  • Beágyazott JSON létrehozása a PDF-ekből kinyert adatok alapján
  • Formázza a JSON-struktúrát adatok alapján
  • Bizonyos mezők értékeinek létrehozása, törlése és frissítése a JSON-ban a kibontás után

Ezek azok a műveletek, amelyek gyakran szükségesek adataink különböző módon történő tárolásához, vagy mondjuk, ha API-kat építünk egy alkalmazáshoz. Lássuk, hogyan érhetjük el ezeket.

Egyedi szöveg kinyerése: PDF-ekben az adott szöveget reguláris kifejezésekkel bonthatjuk ki; Például, ha az összes e-mailt és telefonszámot a regex használatával akarjuk, kiválaszthatjuk őket. Ha a PDF-ek szkennelt formátumúak, akkor vagy egy mély tanulási algoritmusra kell betanítanunk őket, amely képes megérteni a PDF-ek elrendezését, és a betanítási adatokhoz készített koordináták és megjegyzések alapján kivonja a mezőket. Az egyik legnépszerűbb nyílt forráskódú tárhely a dokumentumelrendezések megértéséhez és a szövegek kibontásához a LayoutML, amely BERT-modellekre oktat az egyéni szövegkivonatokhoz. Azonban elegendő adattal kell rendelkeznünk ahhoz, hogy nagyobb pontosságot érjünk el a szöveg kinyerésében.

Táblázat testreszabása: Amint már említettük, a táblák kinyerhetők olyan könyvtárak segítségével, mint a Camelot és a Tabula-py, vagy OCR és mély tanuláson alapuló algoritmusok használatával. De a testreszabáshoz olyan könyvtárakat kell használnunk, mint a pandák; ez lehetővé teszi számunkra a táblákból származó adatok létrehozását, frissítését és sorba rendezését. Egyéni adattípust, úgynevezett adatkeretet használ, amelyet széles körben használnak a táblázat adatainak kezeléséhez és testreszabásához. A pandák használatának további előnyei közé tartozik az egyéni függvények írása, amelyek bizonyos matematikai műveleteket hajthatnak végre a kinyerési folyamat során.

JSON-adatok formázása: A PDF-ek JSON-ba exportálása után a formázás egyszerű feladat, mivel van egy testreszabhatóbb adattípusunk, amely a kulcs-érték pár. Egyszerű szkripteket fejleszthetünk, vagy online eszközöket használhatunk a kulcs-érték párok közötti kereséshez és formázáshoz. A formázás leggyakoribb paraméterei közé tartozik a behúzás, az elválasztók, a rendezési kulcsok, a körkörös ellenőrzések és az adatellenőrzések. Ha a JSON-t API-ként használják, akkor a Postman vagy bármely böngészőbővítmény segítségével formázhatjuk az adatokat, és interakcióba léphetünk az API-kkal.


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.


Időbélyeg:

Még több AI és gépi tanulás