PDF-i andmete teisendamine JSON PlatoBlockchain Data Intelligenceks. Vertikaalne otsing. Ai.

Kuidas teisendada PDF-andmeid JSON-i

PDF-id on üks enimkasutatavaid andmevorminguid äridokumentide jaoks. Paljud ettevõtted ja organisatsioonid sõltuvad nende PDF-dokumentide loomiseks ja lugemiseks erinevatest tööriistadest.

Siiski on raske PDF-failidest valikuliselt eraldada konkreetseid/olulisi andmeid.

Siin tuleb pildile JSON (Javascript Object Notation).

See on üks armastatumaid andmevorminguid teabevahetuseks. Eriti kui tegemist on veebirakendustega, edastatakse suurem osa andmetest JSON-i kaudu API-de ja DB päringud.

Selles blogipostituses vaatleme järgmist:

  • Kuidas Nanonets automatiseerib keerukate andmete teisendamist keerukatest äri PDF-dokumentidest struktureeritud JSON-failideks.
  • Mõned tasuta avatud lähtekoodiga tehnikad PDF-ide teisendamiseks JSON-i, kasutades Pythoni, Linuxi ja Javascripti mooduleid.
    • Kuidas eraldada PDF-failidest spetsiifilisi/keerulisi andmeid, nagu tabelid ja konkreetsed tekstistringid.
    • Kohandatud töövood, mis aitavad automatiseerida PDF-ide JSON-vormingusse teisendamise protsessi.

Nanonetid, mis teisendavad konkreetseid PDF-andmeid JSON-väljunditeks

Kas soovite PDF-dokumentidest konkreetseid andmeid ekstraheerida ja JSON-i teisendada? Kontrollige Nanonets API mis tahes tehnilisest dokumendist PDF-i JSON-vormingusse teisendamise automatiseerimiseks!


Nanonetsi automatiseeritud PDF-i JSON-i konverter

  • Registreeri Nanonetsi tasuta paketile, mis pakub 100 lehekülje krediiti – krediitkaarti pole vaja.
  • Lisage hulk oma ettevõtte PDF-faile
  • Nanonets hõivab automaatselt väljad mitmesugustest dokumenditüüpidest (arved, kviitungid, juhiload, passid ja tabelid)
    • Samuti saate treenida Nanonetsi tehisintellekti tuvastama/jäädvustama mis tahes dokumendist just teile huvipakkuvaid andmevälju!
  • Kontrollige ekstraktitud andmeid ja eksportige JSON-väljundina
    • Samuti saate integreerida Nanonetsi hulga ERP-tarkvaraga – planeerida kõne koos meie AI-ekspertidega, et testida teie kasutusjuhtumit.
  • Tutvu meie OCR API PDF-ist JSON-i töövoogude automatiseerimiseks
PDF-i andmete teisendamine JSON PlatoBlockchain Data Intelligenceks. Vertikaalne otsing. Ai.
PDF-i teisendamine JSON-iks nanonetsidega

Tahad andmeid koguma PDF-dokumentidest ja teisendada JSON-, csv- või Excel? Uurige, kuidas Nanonets saab aidata.

PDF-i andmete teisendamine JSON PlatoBlockchain Data Intelligenceks. Vertikaalne otsing. Ai.
Üliõnnelik Nanonetsi kasutaja


Vajadus PDF-i teisendamiseks JSON-iks

Peaaegu iga ettevõte tugineb teabe jagamisel dokumentidele. Need võivad olla dokumendid, arved, maksudokumendid, kviitungid, meditsiinilised aruanded ja palju muud.

Neid dokumente jagatakse/vastu võetakse sageli PDF-ina.

Kuid kui soovite otsida kriitilist teavet või koostada armatuurlaua kogu olulise teabe analüüsimiseks ja salvestamiseks, võib nendest PDF-failidest andmete käsitsi kogumine olla keeruline ülesanne.

Kui PDF-id genereeritakse elektrooniliselt, saame teabe kopeerida-kleepida andmeallikatesse; muidu võib-olla peame kasutage OCR-i ja masinõppe tehnikaid teabe hankimiseks.

Samuti ei ole PDF-is olevad andmed korrastatud ega otseselt masinloetavad. Seetõttu peame võib-olla otsima teavet käsitsi.

Kuid JSON-i puhul on kõik korraldatud võtme-väärtuse paaridesse. Siin on näide.

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

Kui näete ülaltoodud JSON-vormingut, on andmed paremini organiseeritud ja seda teavet saaks ka veebis mugavamalt jagada. Seetõttu on andmete eksportimine PDF-failidest JSON-i paljude ettevõtete jaoks ülioluline.

JSON-iga kaasnevad ärieelised

JSON-i andmevormingul on ettevõtete jaoks PDF-ide ees palju eeliseid:

  1. JSON on kiirem: JSON-i süntaksit on lihtne kasutada; kui proovite JSON-i andmeid sõeluda, on täitmine PDF-ide ja muude andmevormingutega võrreldes palju kiirem. Seda seetõttu, et süntaks on kerge ja täidab vastuse kiiresti.
  2. Loetavam: JSON-andmed on loetavamad; meil on lihtne andmete kaardistamine võtmete ja väärtustega. Seega, kui otsite midagi või korraldate andmeid PDF-failidest, on JSON mugavam. Lisaks toetab JSON andmete pesastamist ja sellega saab tabelite andmeid tõhusamalt salvestada.
  3. Mugav skeem: JSON on universaalne enamiku operatsioonisüsteemide ja programmeerimiskeelte jaoks; Seega, kui loote oma ettevõtte automatiseerimiseks tarkvara või veebirakendust, peaks JSON olema õige andmevorming. Samuti toetab enamik veebibrausereid JSON-vormingut; seega ei pea me täiendavalt pingutama, et kasutada JSON-i andmete lugemiseks kolmanda osapoole tarkvara.
  4. Lihtne jagamine: JSON on parim tööriist mis tahes suurusega andmete, isegi suurte tabelite või teksti jms jagamiseks. Selle põhjuseks on asjaolu, et JSON salvestab andmed massiividesse, nii et andmeedastus muudab need juurdepääsetavamaks. Sel põhjusel on JSON suurepärane failivorming veebi API-de ja veebiarenduse jaoks.

Järgmises jaotises vaatleme mõningaid väljakutseid, mis võivad PDF-ide JSON-vormingusse teisendamisel silmitsi seista.


Nanonetsil on palju huvitavat kasutage juhtumeid mis võib teie ettevõtte toimivust optimeerida, kulusid kokku hoida ja kasvu kiirendada. Uuri välja kuidas saab Nanonetsi kasutusjuhtumeid teie tootele rakendada.


Väljakutsed PDF-ist JSON-i teisendamisega

Vaatame mõningaid väljakutseid PDF-failidest JSON-i eksportimisel.

  1. Fontide tuvastamine: inimesed kasutavad PDF-dokumentides erinevaid fonte, värve ja joondusi. Seetõttu on parseritel neid tõesti raske lugeda. Samuti peame selle eksportimisel määratlema konkreetsed reeglid, nii et pärast parseri andmete väljavõtmist tuleks kogu teave õigesti JSON-vormingus vastendada. Sellistel juhtudel kasutatakse regulaaravaldisi laialdaselt konkreetse teksti välja valimiseks ja seejärel selle eksportimiseks JSON-vormingus õigesse võtmesse.
  2. Teksti tuvastamine skannitud dokumentidest: Nagu öeldud, kui PDF-e ei genereerita elektrooniliselt, peame kasutama OCR-i ja OCR-i valimine on ülioluline. Kuigi paljud kasutajad proovivad avatud lähtekoodiga tööriistu, nagu tesseract, on neil oma piirangud. Näiteks kui tekst on pildistamisel valesti jäädvustatud või valesti joondatud, ei pruugi tesserakt töötada ja muude tööriistade valimine võib olla kulukas.
  1. Identifitseerimistabelid: enamik äridokumente sisaldab tabeliteavet ning nende tabelite määramine PDF-dokumentidest ja JSON-vormingusse teisendamine on keeruline ülesanne. Mõned Pythonil ja Java-põhised teegid võivad aidata elektrooniliselt tehtud PDF-dokumentidest tabeleid eraldada.
  2. Tabelite tuvastamine skannitud PDF-failidest: Kui PDF-id on skannitud, siis enamik pakette ei tööta. Sel juhul, kui valime avatud lähtekoodiga OCR-i, nagu tesseract, võib see teksti ekstraktida, kuid võib kaotada kogu tabeli vormingu. Seetõttu on vales vormingus kontuuriüksuste valimine keeruline. Siin peame kasutama masinõppel ja süvaõppel põhinevaid algoritme. Mõned populaarsed algoritmid põhinevad CNN-idel ja nende algoritmide täiustamiseks on tehtud palju uuringuid.

Allpool on mõned uurimistööd, mis lahendavad dokumentidest tabeli väljavõtmist:

Järgmises jaotises vaatame, kuidas JSON-failide loomiseks andmeid PDF-ist sõeluda.

Andmete sõelumine PDF-failidest ja JSON-failide genereerimine Pythoni ja Linuxi abil

Kui teil on arendaja kogemusi, pole PDF-ide sõelumine keeruline ülesanne.

Esiteks peame kontrollima, kas meie PDF-failid sisaldavad tekstiandmeid või koosnevad skannitud piltidest. Peaksime kontrollima, kas saame tekstiandmeid ekstraheerida või failid läbi OCR-teegi suunata, kui teksti ei tagastatud.

Seda saab saavutada Pythoni teegi abil või mõnele Linuxi käsurea utiliitile tuginedes.

Pdftotekst on üks populaarsemaid raamatukogusid elektrooniliste PDF-ide sõelumiseks. Võiksime seda kasutada kõigi PDF-andmete teisendamiseks tekstivormingusse ja seejärel JSON-vormingusse surumiseks.

Siin on mõned juhised, kuidas seda kasutada pdftotext ja sõeluda läbi PDF-i Linuxi masinas.

Esmalt installige käsurea tööriistad:

sudo apt-get install poppler-utils

Järgmisena kasutage pdftotext käsk ja lisage PDF-faili lähtetee ja sihtkoha tekstifaili asukoht.

pdftotext {PDF-file} {text-file}

Selle abil peaksime saama PDF-failidest kogu loetava teksti välja võtta.

JSON-faili loomiseks peame uuesti töötama meie andmetel põhineva skriptiga, mis suudab teksti sõeluda ja eksportida asjakohastesse võtme-väärtuste paaridesse.

Siin on Pythonis kirjutatud näidisskript, mis teisendab lihtsa .txt faili JSON-vormingusse.

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

Mõelge tekstifailis olevatele andmetele:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Siin importisime esmalt sisseehitatud JSON-i teegi. Nüüd loome sõnastiku andmetüübi, et salvestada kõik tekstifailide võtme-väärtuste paarid. Järgmisena kordame faili iga rida ja eraldame selle käsuks, kirjelduseks ja säilitame loodud sõnastikus. Lõpuks loome uue JSON-faili ja kasutame json.dump meetod sõnastiku JSON-faili sisestamiseks konkreetse konfiguratsiooniga, mis hõlmab sortimist ja taanet.

Kuid meie andmed PDF-failidest ei ole nii korrastatud, kui näites on näidatud; seetõttu peame võib-olla kasutama keeruka tekstivormingu läbimiseks kohandatud torujuhtmeid ja skripte. Sellistel juhtudel tööriistad nagu Nanonetid on suurepärane valik ja me vaatame järgmistes jaotistes ka seda, kuidas Nanonets selle probleemi palju lihtsamalt lahendab.

Enne seda vaatame veel ühte teeki, mis teisendab PDF-i JSON-iks, kasutades node.js-i:

pdf2json on node.js moodul, mis parsib ja teisendab PDF-i binaarvormingust JSON-vormingusse; see on ehitatud pdf.js ja laiendab seda interaktiivsete vormielementide ja tekstisisu sõelumisega väljaspool brauserit.

Siin on näide selle mooduli kasutamisest JSON-failide sõelumiseks.

Esiteks veenduge, et teil on npm installer ja installige moodul järgmise käsu abil:

npm install pdf2json

Järgmisena saate oma sõlmeserveris kasutada järgmist koodilõiku, mis laadib faili pdf2json ja ekspordib pdf-id JSON-i:

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

Ülaltoodud koodilõik kasutab mooduli JSON-faili näidet ja ekspordib selle JSON-faili, saame seda kontrollida ./test/target/ kausta oma projektis. B

Elow, leiate ekraanipildi sellest, kuidas moodul JSON-faile ekspordib:

PDF-i andmete teisendamine JSON PlatoBlockchain Data Intelligenceks. Vertikaalne otsing. Ai.
JSON-i eksport

Tabelites PDF-failide sõelumisel ei pruugi need teegid lihtsalt töötada!


Tabeliandmete JSON-i eraldamiseks peate kasutama OCR-i ja masinõppe algoritme. Nanonets teeb just seda, nagu näete allpool:

PDF-i andmete teisendamine JSON PlatoBlockchain Data Intelligenceks. Vertikaalne otsing. Ai.
Nanonetid teisendavad andmeid PDF-ist JSON-i 


Kohandatud andmete teisendamine PDF-ist JSON-i

Mõnikord võime äridokumentidest andmete väljavõtmisel vajada kohandamist. Näiteks kui tahame ainult teatud lehti või tabeleid, ei saa me seda otse teha. Sel juhul peame võib-olla parseritele lisareegleid esitama, mis on jällegi aeganõudev. Kuid vaatame, kuidas saame teha kohandusi ja toiminguid, mida enamik inimesi vajab.

Allpool on toodud mõned toimingud, mis on vajalikud PDF-i muutmiseks JSON-iks.

  • Ekstraktige PDF-failidest ainult teatud tekst või lehed
  • Ekstraktige kõik tabelid PDF-dokumentidest
  • Ekstraktige PDF-failide teatud tabelitest konkreetsed veerud
  • Filtreerige PDF-ide tekst enne nende eksportimist JSON-i
  • Pesastatud JSON-i loomine PDF-failidest ekstraheeritud andmete põhjal
  • Vormindage andmete põhjal JSON-struktuur
  • Looge, kustutage ja värskendage pärast ekstraktimist JSON-is teatud väljade väärtusi

Need on mõned toimingud, mida sageli nõutakse meie andmete erineval viisil salvestamiseks või näiteks selle kohta, kas me loome rakenduse jaoks API-sid. Vaatame, kuidas me saame neid saavutada.

Konkreetse teksti eraldamine: PDF-ides saame konkreetse teksti regulaaravaldiste abil eraldada; Näiteks kui tahame, et kõik e-kirjad ja telefoninumbrid kasutaksid regexit, saame need välja valida. Kui PDF-failid on skannitud vormingus, peame neid kas treenima sügava õppimisalgoritmi alusel, mis mõistab PDF-failide paigutust ja eraldab väljad, mis põhinevad treeningandmetele tehtud koordinaatidel ja annotatsioonil. Üks populaarsemaid avatud lähtekoodiga hoidlaid dokumentide paigutuste mõistmiseks ja teksti väljavõtmiseks on LayoutML ning see treenib kohandatud teksti ekstraheerimiseks BERT-i mudelitel. Siiski peaks meil olema piisavalt andmeid, et saavutada teksti ekstraheerimisel suurem täpsus.

Tabeli kohandamine: Nagu arutatud, saab tabeleid ekstraheerida, kasutades selliseid teeke nagu Camelot ja Tabula-py või kasutades OCR-i ja sügavaid õppimispõhiseid algoritme. Kuid kohandamiseks peame kasutama teeke nagu pandad; see võimaldab meil tabelite andmeid luua, värskendada ja järjestada. See kasutab kohandatud andmetüüpi, mida nimetatakse andmeraamiks, mida kasutatakse laialdaselt tabeliandmete manipuleerimiseks ja kohandamiseks. Pandade kasutamise muud eelised hõlmavad kohandatud funktsioonide kirjutamist, mis võivad ekstraheerimisprotsessi ajal teha teatud matemaatilisi toiminguid.

JSON-andmete vormindamine: Pärast PDF-ide eksportimist JSON-i on nende vormindamine lihtne ülesanne, kuna meil on rohkem kohandatav andmetüüp, mis on võtme-väärtuse paarid. Võiksime välja töötada lihtsaid skripte või kasutada võrgutööriistu nende võtme-väärtuste paaride otsimiseks ja vormindamiseks. Mõned kõige levinumad vormindamise parameetrid on taane, eraldajad, sortimisvõtmed, ringkontrollid, andmete kontrollid. Kui JSON-i kasutatakse API-na, võime andmete vormindamiseks ja API-dega suhtlemiseks kasutada Postmani või mis tahes brauseri laiendusi.


Kas soovite PDF-dokumentidest teavet eraldada ja JSON-vormingusse teisendada? Tutvuge Nanonetsiga, et automatiseerida mis tahes teabe eksportimine mis tahes PDF-dokumendist JSON-i.


Ajatempel:

Veel alates Tehisintellekt ja masinõpe