Hvordan konvertere PDF-data til JSON PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Hvordan konvertere PDF-data til JSON

PDF-filer er et av de mest brukte dataformatene for forretningsdokumenter. Mange bedrifter og organisasjoner er avhengige av ulike verktøy for å lage og lese disse PDF-dokumentene.

Det er imidlertid vanskelig å trekke ut spesifikke/viktige data fra PDF-filer selektivt.

Det er her JSON (Javascript Object Notation) kommer inn i bildet.

Det er et av de mest populære dataformatene for informasjonsutveksling. Spesielt når det gjelder nettapplikasjoner, kommuniseres det meste av data ved hjelp av JSON gjennom APIer og DB-spørringer.

I dette blogginnlegget skal vi se på:

  • Hvordan Nanonets automatiserer komplekse datakonverteringer fra kompliserte forretnings-PDF-dokumenter til strukturerte JSON-filer.
  • Noen gratis åpen kildekode-teknikker for å konvertere PDF-filer til JSON ved hjelp av Python, Linux og Javascript-moduler.
    • Hvordan trekke ut spesifikke/komplekse data fra PDF-er som tabeller og spesifikke tekststrenger.
    • Egendefinerte arbeidsflyter som kan hjelpe automatisere prosessen med å konvertere PDF-er til JSON.

Nanonetter som konverterer spesifikke PDF-data til JSON-utganger

Vil du trekke ut spesifikke data fra PDF-dokumenter og konvertere til JSON? Sjekk ut Nanonets API å automatisere batch PDF til JSON konvertering fra alle slags tekniske dokumenter!


Nanonets Automated PDF to JSON Converter

  • Meld deg på for Nanonets' gratisplan som tilbyr en kreditt på 100 sider – ikke nødvendig med kredittkort.
  • Legg til et parti med bedriftens PDF-filer
  • Nanonetter fanger automatisk opp felt fra en rekke dokumenttyper (fakturaer, kvitteringer, førerkort, pass og tabeller)
    • Du kan også trene Nanonets' AI til å oppdage/fange bare datafeltene du er interessert i fra alle typer dokumenter!
  • Bekreft de utpakkede dataene og eksporter som JSON-utganger
    • Du kan også integrere Nanonets med en rekke ERP-programvare – planlegg en samtale med våre AI-eksperter for å prøvekjøre brukssaken din.
  • Sjekk ut vår OCR API for å automatisere PDF til JSON-arbeidsflyter
Hvordan konvertere PDF-data til JSON PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
PDF til JSON-konvertering med nanonetter

Lyst til å fange data fra PDF-dokumenter og konverter til JSON, csv eller Excel? Finn ut hvordan nanonetter kan hjelpe.

Hvordan konvertere PDF-data til JSON PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
En superfornøyd Nanonets-bruker


Behovet for PDF til JSON-konvertering

Nesten hver virksomhet er avhengig av dokumenter for informasjonsdeling. Dette kan være dokumentasjon, fakturaer, skatteregistreringer, kvitteringer, medisinske rapporter og mye mer.

Disse dokumentene deles/mottas ofte som PDF-filer.

Men hvis du vil søke etter kritisk informasjon eller bygge et dashbord for å analysere og lagre all viktig informasjon, kan det være en oppoverbakke å samle inn data fra disse PDF-ene manuelt.

Hvis PDF-ene er elektronisk generert, kan vi kopiere og lime inn informasjon i datakilder; ellers må vi kanskje bruk OCR og maskinlæringsteknikker for å trekke ut informasjon.

Dataene i PDF-ene er heller ikke organiserte eller direkte maskinlesbare. Derfor må vi kanskje søke etter informasjon manuelt.

Men når det gjelder JSON, er alt organisert i nøkkelverdi-par. Her er et eksempel.

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

Hvis du kan se JSON-formatet ovenfor, er dataene mer organisert, og du kan også dele denne informasjonen på nettet mer praktisk. Dette er grunnen til at eksport av data fra PDF-er til JSON er avgjørende for mange selskaper.

Forretningsfordeler som følger med JSON

JSON-dataformat har mange fordeler i forhold til PDF-filer for bedrifter:

  1. JSON er raskere: JSON-syntaks er enkel å bruke; når du prøver å analysere gjennom JSON-data, er kjøringen mye raskere sammenlignet med PDF-er og andre dataformater. Dette er fordi syntaksen er lett og utfører responsen raskt.
  2. Mer lesbar: JSON-data er mer lesbare; vi får en enkel datakartlegging med nøkler og verdier. Derfor, hvis du søker etter noe eller organiserer dataene fra PDF-filer, vil JSON være mer praktisk. I tillegg støtter JSON nesting av data, og med dette kan data fra tabeller lagres mer effektivt.
  3. Praktisk skjema: JSON er universell for de fleste operativsystemer og programmeringsspråk; Derfor, hvis du bygger programvare eller webapplikasjon for å automatisere virksomheten din, bør JSON være riktig dataformat. Dessuten støtter de fleste nettlesere JSON-format; derfor trenger vi ikke legge ned ytterligere innsats for å bruke tredjepartsprogramvare for å lese gjennom JSON-data.
  4. Enkel deling: JSON er det beste verktøyet for å dele data i alle størrelser, til og med store tabeller eller tekst osv. Dette skyldes at JSON lagrer data i matriser, slik at dataoverføring gjør det mer tilgjengelig. Av denne grunn er JSON et overlegen filformat for web-APIer og webutvikling.

I neste avsnitt, la oss se på noen av utfordringene vi kan møte når vi konverterer PDF-filer til JSON-format.


Nanonets har mange interessante bruk saker som kan optimalisere forretningsytelsen, spare kostnader og øke veksten. Finne ut hvordan Nanonets brukstilfeller kan gjelde for produktet ditt.


Utfordringer med å konvertere fra PDF til JSON

La oss se på noen av utfordringene ved eksport fra PDF-filer til JSON.

  1. Oppdage skrifter: Folk bruker forskjellige skrifter, farger og justeringer i PDF-dokumenter. Derfor er det veldig vanskelig for parsers å lese disse. Når vi eksporterer dette, må vi også definere spesifikke regler slik at etter at parseren trekker ut dataene, skal all informasjon kartlegges riktig i JSON-format. I slike tilfeller brukes vanlige uttrykk for å plukke ut spesifikk tekst og deretter eksportere den til riktig nøkkel i JSON-format.
  2. Oppdage tekst fra skannede dokumenter: Som diskutert, når PDF-filer ikke genereres elektronisk, må vi bruke en OCR, og det er avgjørende å velge en OCR. Selv om mange brukere prøver verktøy med åpen kildekode som tesseract, har de sitt eget sett med begrensninger. For eksempel, hvis teksten blir tatt feil eller justert feil når den tas, kan det hende tesseract ikke fungerer, og det kan være dyrt å velge andre verktøy.
  1. Identifisere tabeller: De fleste forretningsdokumenter inneholder tabellinformasjon, og å bestemme disse tabellene fra PDF-dokumenter og konvertere dem til JSON er en utfordrende oppgave. Det er noen biblioteker basert på Python og Java som kan hjelpe med å trekke ut tabeller fra elektronisk laget PDF-dokumenter.
  2. Identifisere tabeller fra skannede PDF-filer: Når PDF-filene skannes, fungerer ikke de fleste pakkene. I dette tilfellet, hvis vi velger en åpen kildekode OCR som tesseract, kan den trekke ut tekst, men kan miste all tabellformatering. Derfor er det utfordrende å velge konturelementer i feil format. Det er her vi må bruke Machine Learning og Deep Learning-baserte algoritmer. Noen populære algoritmer er basert på CNN-er, og det har vært mye forskning på gang for å forbedre disse algoritmene.

Nedenfor er noen av forskningsoppgavene som løser problemet med tabellutvinning fra dokumenter:

I neste avsnitt, la oss se på hvordan du analyserer data fra PDF for å generere JSON-filer.

Parsing av data fra PDF-er og generering av JSON-filer ved hjelp av Python og Linux

Parsing gjennom PDF-er er ikke en komplisert oppgave hvis du har utviklererfaring.

For det første må vi sjekke om PDF-filene våre inneholder tekstdata eller består av skannede bilder. Vi må sjekke om vi kan trekke ut tekstdata eller sende filene gjennom et OCR-bibliotek hvis ingen tekst ble returnert.

Dette kan oppnås ved å bruke et Python-bibliotek eller ved å stole på noen Linux-kommandolinjeverktøy.

Pdftotekst er et av de mest populære bibliotekene for å analysere elektroniske PDF-filer. Vi kan bruke dette til å konvertere alle PDF-dataene til tekstformat og deretter skyve dem inn i et JSON-format.

Her er noen av instruksjonene for hvordan vi kan bruke pdftotext og analysere gjennom PDF på en Linux-maskin.

Først installerer du kommandolinjeverktøy:

sudo apt-get install poppler-utils

Deretter bruker du pdftotext kommandoen og legg til PDF-filens kildebane og destinasjonens tekstfilplassering.

pdftotext {PDF-file} {text-file}

Med dette skal vi kunne trekke ut all lesbar tekst fra PDF-filene.

For å generere en JSON-fil, må vi igjen jobbe med et skript basert på dataene våre som kan analysere teksten og eksportere dem til relevante nøkkelverdi-par.

Her er et eksempelskript som vi skrev i Python som konverterer en enkel .txt filen til JSON-format.

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

Tenk på at dataene i tekstfilen er:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Her importerte vi først det innebygde JSON-biblioteket. Vi oppretter nå en ordbokdatatype for å lagre alle nøkkelverdiparene fra tekstfilene. Deretter gjentar vi gjennom hver linje i filen og striper den til kommando, beskrivelse og holder den i den opprettede ordboken. Til slutt lager vi en ny JSON-fil og bruker json.dump metode for å dumpe ordboken i JSON-filen med en spesifikk konfigurasjon som inkluderer sortering og innrykk.

Våre data fra PDF-filer vil imidlertid ikke være så organiserte som gitt i eksemplet; Derfor kan det hende vi må bruke tilpassede rørledninger og skript for å gjennomgå komplisert tekstformatering. I slike tilfeller, verktøy som Nanonetter vil være av godt valg, og vi vil også se på hvordan Nanonets løser dette problemet på en mye enklere måte i de følgende avsnittene.

Før det, la oss se på et bibliotek til som konverterer PDF til JSON ved hjelp av node.js:

pdf2json er en node.js modul som analyserer og konverterer PDF fra binært til JSON-format; den er bygget med pdf.js og utvider det med interaktive skjemaelementer og tekstinnhold som analyseres utenfor nettleseren.

Her er et eksempel på hvordan du bruker denne modulen til å analysere JSON-filene dine:

Først må du sørge for å ha npm installasjonsprogrammet og installer modulen ved hjelp av følgende kommando:

npm install pdf2json

Deretter kan du bruke følgende kodebit i node-serveren din som laster inn pdf2json og eksporterer pdf-filer til 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");

Ovennevnte kodebit bruker et eksempel på en JSON-fil fra modulen og eksporterer den til en JSON-fil, vi kan sjekke dette ut i ./test/target/ mappe i prosjektet ditt. B

Nedenfor finner du et skjermbilde av hvordan modulen eksporterer JSON-filene:

Hvordan konvertere PDF-data til JSON PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
JSON eksport

For å analysere PDF-filer i tabeller kan det hende at disse bibliotekene ikke fungerer!


Du må bruke OCR- og maskinlæringsalgoritmer for å trekke ut tabelldata til JSON. Nanonets gjør akkurat det som du kan se nedenfor:

Hvordan konvertere PDF-data til JSON PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
Nanonetter som konverterer data fra PDF til JSON 


Tilpasset datakonvertering fra PDF til JSON

Noen ganger, mens vi trekker ut dataene fra forretningsdokumenter, kan vi kreve tilpasning. Si for eksempel at hvis vi bare vil ha visse sider eller tabeller, kan vi ikke gjøre det direkte. I dette tilfellet må vi kanskje gi tilleggsregler til parsers, noe som igjen er tidkrevende. Men la oss se hvordan vi kan gjøre tilpasningen og handlingene de fleste trenger.

Nedenfor er noen av handlingene som kreves for tilpasning i PDF til JSON-konvertering:

  • Pakk ut bare tekst eller sider fra PDF-filer
  • Pakk ut alle tabellene fra PDF-dokumenter
  • Pakk ut bestemte kolonner fra bestemte tabeller i PDF-filer
  • Filtrer tekst fra PDF-filer før du eksporterer dem til JSON
  • Opprette nestet JSON basert på ekstraherte data fra PDF-filer
  • Formater JSON-struktur basert på data
  • Opprett, slett, oppdater verdier for visse felt i JSON etter ekstraksjon

Dette er noen av handlingene som ofte kreves for å lagre dataene våre på forskjellige måter, eller si om vi bygger API-er for en applikasjon. La oss se hvordan vi kan oppnå disse.

Pakke ut spesiell tekst: I PDF-filer kunne vi trekke ut den aktuelle teksten ved å bruke regulære uttrykk; for eksempel si at hvis vi vil ha alle e-postmeldinger og telefonnumre ved hjelp av regex, kan vi plukke dem ut. Hvis PDF-filene er i skannet format, må vi enten trene dem på en dyplæringsalgoritme som kan forstå layoutene til PDF-filene og trekke ut felt basert på koordinatene og kommentarene til treningsdataene. En av de mest populære open source-arkivene for å forstå dokumentoppsett og trekke ut tekst er LayoutML, og den trener på BERT-modeller for tilpasset tekstutvinning. Vi bør imidlertid ha nok data til å oppnå høyere nøyaktighet i å trekke ut tekst.

Tilpasning av bord: Som diskutert, kan tabeller trekkes ut ved hjelp av biblioteker som Camelot og Tabula-py eller ved hjelp av OCR og dyp læringsbaserte algoritmer. Men for tilpasning må vi bruke biblioteker som pandaer; Dette vil tillate oss å opprette, oppdatere og serieisere dataene fra tabellene. Den bruker en tilpasset datatype kalt en dataramme, som brukes mye for å manipulere og tilpasse tabelldataene. Andre fordeler med å bruke pandaer inkluderer å skrive egendefinerte funksjoner som kan utføre visse matematiske operasjoner under ekstraksjonsprosessen.

Formatering av JSON-data: Etter å ha eksportert PDF-filer til JSON, er det en grei oppgave å formatere dem, ettersom vi har en mer tilpassbar datatype som er nøkkelverdiparene. Vi kan enten utvikle enkle skript eller bruke verktøy på nettet for å søke gjennom disse nøkkelverdiparene og formatere dem. Noen av de vanligste parametrene for formatering inkluderer innrykk, skilletegn, sorteringsnøkler, sirkulære sjekker, datasjekker. Hvis JSON brukes som API, kan vi bruke Postman eller andre nettleserutvidelser til å formatere dataene og samhandle med APIene.


Vil du trekke ut informasjon fra PDF-dokumenter og konvertere dem til et JSON-format? Sjekk ut Nanonets for å automatisere eksport av all informasjon fra et PDF-dokument til JSON.


Tidstempel:

Mer fra AI og maskinlæring