Hur man konverterar PDF-data till JSON PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Hur man konverterar PDF-data till JSON

PDF-filer är ett av de mest använda dataformaten för affärsdokument. Många företag och organisationer är beroende av olika verktyg för att skapa och läsa dessa PDF-dokument.

Det är dock svårt att extrahera specifika/viktiga data från PDF-filer selektivt.

Det är här JSON (Javascript Object Notation) kommer in i bilden.

Det är ett av de mest älskade dataformaten för informationsutbyte. Speciellt när det kommer till webbapplikationer kommuniceras det mesta av data med JSON genom API:er och DB-frågor.

I det här blogginlägget kommer vi att titta på:

  • Hur Nanonets automatiserar komplex datakonvertering från komplicerade affärs-PDF-dokument till strukturerade JSON-filer.
  • Några gratis tekniker med öppen källkod för att konvertera PDF-filer till JSON med Python, Linux och Javascript-moduler.
    • Hur man extraherar specifika/komplexa data från PDF-filer såsom tabeller och specifika textsträngar.
    • Anpassade arbetsflöden som kan hjälpa till att automatisera processen att konvertera PDF-filer till JSON.

Nanonetter som konverterar specifika PDF-data till JSON-utgångar

Vill du extrahera specifik data från PDF-dokument och konvertera till JSON? Kolla upp Nanonets API för att automatisera batch-konvertering av PDF till JSON från alla slags tekniska dokument!


Nanonets Automated PDF to JSON Converter

  • Registrera dig för Nanonets gratisplan som erbjuder en kredit på 100 sidor – inget kreditkort behövs.
  • Lägg till ett parti av dina affärs-PDF-filer
  • Nanonets fångar automatiskt fält från en rad olika dokumenttyper (fakturor, kvitton, körkort, pass och bord)
    • Du kan också träna Nanonets AI för att upptäcka/fånga bara datafälten av ditt intresse från alla typer av dokument!
  • Verifiera de extraherade data och exportera som JSON-utgångar
    • Du kan också integrera Nanonets med en mängd ERP-programvara – schemalägga ett samtal med våra AI-experter för att testköra ditt användningsfall.
  • Kolla in vår OCR API för att automatisera PDF till JSON-arbetsflöden
Hur man konverterar PDF-data till JSON PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
PDF till JSON-konvertering med Nanonets

Vill fånga upp data från PDF-dokument och konvertera till JSON, csv eller excel? Ta reda på hur Nanonets kan hjälpa.

Hur man konverterar PDF-data till JSON PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
En supernöjd Nanonets-användare


Behovet av konvertering av PDF till JSON

Nästan alla företag är beroende av dokument för att dela information. Det kan vara dokumentation, fakturor, skattedeklarationer, kvitton, medicinska rapporter och så mycket mer.

Dessa dokument delas/mottas ofta som PDF-filer.

Men om du vill söka efter viktig information eller bygga en instrumentpanel för att analysera och lagra all viktig information, kan manuell insamling av data från dessa PDF-filer vara en uppförsbacke.

Om PDF-filerna genereras elektroniskt kan vi kopiera och klistra in information i datakällor; annars kanske vi måste använd OCR och maskininlärningstekniker för att extrahera information.

Data i PDF-filerna är inte heller organiserade eller direkt maskinläsbara. Därför kan vi behöva söka information manuellt.

Men när det kommer till JSON är allt organiserat i nyckel-värdepar. Här är ett exempel.

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

Om du kan se ovanstående JSON-format är informationen mer organiserad, och du kan också dela denna information på webben enklare. Det är därför det är avgörande för många företag att exportera data från PDF-filer till JSON.

Affärsfördelar med JSON

JSON-dataformat har många fördelar jämfört med PDF-filer för företag:

  1. JSON är snabbare: JSON-syntax är lätt att använda; Närhelst du försöker analysera JSON-data är exekveringen mycket snabbare jämfört med PDF-filer och andra dataformat. Detta beror på att syntaxen är lätt och exekverar svaret snabbt.
  2. Mer läsbar: JSON-data är mer läsbara; vi får en enkel datakartning med nycklar och värden. Därför, om du letar efter något eller organiserar data från PDF-filer kommer JSON att vara bekvämare. Dessutom stöder JSON häckningen av data, och med detta kan data från tabeller lagras mer effektivt.
  3. Bekvämt schema: JSON är universellt för de flesta operativsystem och programmeringsspråk; Därför, om du bygger någon programvara eller webbapplikation för att automatisera ditt företag, bör JSON vara rätt dataformat. De flesta webbläsare stöder också JSON-format; därför behöver vi inte anstränga oss mer för att använda programvara från tredje part för att läsa igenom JSON-data.
  4. Enkel delning: JSON är det bästa verktyget för att dela data i alla storlekar, även stora tabeller eller text etc. Detta beror på att JSON lagrar data i matriserna, så dataöverföring gör det mer tillgängligt. Av denna anledning är JSON ett överlägset filformat för webb-API: er och webbutveckling.

I nästa avsnitt, låt oss titta på några av de utmaningar som vi kan möta när vi konverterar PDF-filer till JSON-format.


Nanonets har många intressanta använd fall som kan optimera dina affärsresultat, spara kostnader och öka tillväxten. Ta reda på hur Nanonets användningsfall kan tillämpas på din produkt.


Utmaningar med att konvertera från PDF till JSON

Låt oss titta på några av utmaningarna med att exportera från PDF-filer till JSON.

  1. Upptäcka teckensnitt: Människor använder olika teckensnitt, färger och justeringar i PDF-dokument. Därför är det verkligen svårt för tolkare att läsa dessa. När vi exporterar detta måste vi också definiera specifika regler så att all information ska kartläggas korrekt i JSON-format efter att analysatorn extraherat data. I sådana fall används vanliga uttryck i stor utsträckning för att välja specifik text och sedan exportera den till rätt nyckel i JSON-format.
  2. Identifiera text från skannade dokument: Som diskuterat, när PDF-filer inte genereras elektroniskt, måste vi använda en OCR och att välja en OCR är avgörande. Även om många användare försöker öppna källkodsverktyg som tesseract, har de sina egna begränsningar. Till exempel, om texten är felaktigt fångad eller feljusterad vid inspelning, kanske tesseract inte fungerar, och att välja andra verktyg kan vara dyrt.
  1. Identifiera tabeller: De flesta affärsdokument innehåller tabellinformation, och att bestämma dessa tabeller från PDF-dokument och konvertera dem till JSON är en utmanande uppgift. Det finns några bibliotek baserade på Python och Java som kan hjälpa till att extrahera tabeller från elektroniskt gjorda PDF-dokument.
  2. Identifiera tabeller från skannade PDF-filer: När PDF-filerna skannas fungerar de flesta paket inte. I det här fallet, om vi väljer en öppen källkod OCR som tesseract, kan den extrahera text men kan förlora all tabellformatering. Därför är det utmanande att välja konturobjekt i ett felaktigt format. Det är här vi måste använda Machine Learning och Deep Learning-baserade algoritmer. Vissa populära algoritmer är baserade på CNN, och det har pågått mycket forskning för att förbättra dessa algoritmer.

Nedan följer några av de forskningspapper som löser problemet med tabellutvinning från dokument:

I nästa avsnitt, låt oss titta på hur man analyserar data från PDF för att skapa JSON-filer.

Analysera data från PDF-filer och generera JSON-filer med Python och Linux

Att analysera PDF-filer är inte en komplicerad uppgift om du har erfarenhet av utvecklare.

För det första måste vi kontrollera om våra PDF-filer innehåller textdata eller består av skannade bilder. Vi måste kontrollera om vi kan extrahera textdata eller skicka filerna genom ett OCR-bibliotek om ingen text returnerades.

Detta kan uppnås med hjälp av ett Python-bibliotek eller genom att förlita sig på några Linux-kommandoradsverktyg.

Pdf till text är ett av de mest populära biblioteken för att analysera elektroniska PDF-filer. Vi skulle kunna använda detta för att konvertera all PDF-data till textformat och sedan skjuta den till ett JSON-format.

Här är några av instruktionerna om hur vi kan använda pdftotext och analysera via PDF på en Linux-maskin.

Installera först kommandoradsverktyg:

sudo apt-get install poppler-utils

Använd sedan pdftotext kommandot och lägg till PDF-filens källväg och destinationstextfilplats.

pdftotext {PDF-file} {text-file}

Med detta borde vi kunna extrahera all läsbar text från PDF-filerna.

För att generera en JSON-fil måste vi återigen arbeta med ett skript baserat på våra data som kan analysera texten och exportera dem till relevanta nyckel-värdepar.

Här är ett exempelskript som vi skrev i Python som konverterar en enkel .txt fil till 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()

Tänk på att data i textfilen är:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Här importerade vi först det inbyggda JSON-biblioteket. Vi skapar nu en ordboksdatatyp för att lagra alla nyckel-värdepar från textfilerna. Därefter itererar vi genom varje rad i filen och tar bort den till kommando, beskrivning och behåller den i den skapade ordboken. Slutligen skapar vi en ny JSON-fil och använder json.dump metod för att dumpa ordlistan i JSON-filen med en specifik konfiguration som inkluderar sortering och indrag.

Våra data från PDF-filer kommer dock inte att vara så organiserade som i exemplet; därför kan vi behöva använda anpassade pipelines och skript för att gå igenom komplicerad textformatering. I sådana fall, verktyg som Nanonetter kommer att vara av stort val, och vi kommer också att titta på hur Nanonets löser detta problem på ett mycket enklare sätt i följande avsnitt.

Innan det, låt oss titta på ytterligare ett bibliotek som konverterar PDF till JSON med node.js:

pdf2json är en node.js modul som tolkar och konverterar PDF från binärt till JSON-format; den är byggd med pdf.js och utökar den med interaktiva formulärelement och textinnehåll som analyseras utanför webbläsaren.

Här är ett exempel på hur du använder den här modulen för att analysera dina JSON-filer:

Se först till att ha npm installeraren och installera modulen med följande kommando:

npm install pdf2json

Därefter kan du använda följande kodavsnitt på din nodserver som laddar pdf2json och exporterar pdf-filer till 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");

Ovanstående kodavsnitt använder ett exempel på en JSON-fil från modulen och exporterar den till en JSON-fil, vi kan kolla in detta i ./test/target/ mapp i ditt projekt. B

nedan hittar du en skärmdump av hur modulen exporterar JSON-filerna:

Hur man konverterar PDF-data till JSON PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
JSON-export

För att analysera PDF-filer i tabeller kanske dessa bibliotek inte fungerar!


Du måste använda OCR- och maskininlärningsalgoritmer för att extrahera tabelldata till JSON. Nanonets gör precis det som du kan se nedan:

Hur man konverterar PDF-data till JSON PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
Nanonetter konverterar data från PDF till JSON 


Anpassad datakonvertering från PDF till JSON

Ibland kan vi kräva anpassning när vi extraherar data från affärsdokument. Till exempel, säg om vi bara vill ha vissa sidor eller tabeller kan vi inte göra det direkt. I det här fallet kan vi behöva tillhandahålla ytterligare regler till tolkarna, vilket återigen är tidskrävande. Men låt oss se hur vi kan göra anpassningen och de åtgärder som de flesta behöver.

Nedan följer några av de åtgärder som krävs för anpassning i PDF till JSON-konvertering:

  • Extrahera endast viss text eller sidor från PDF-filer
  • Extrahera alla tabeller från PDF-dokument
  • Extrahera vissa kolumner från vissa tabeller i PDF-filer
  • Filtrera text från PDF-filer innan du exporterar dem till JSON
  • Skapa kapslad JSON baserat på extraherade data från PDF-filer
  • Formatera JSON-strukturen baserat på data
  • Skapa, ta bort, uppdatera värden för vissa fält i JSON efter extraktion

Det här är några av de åtgärder som ofta krävs för att lagra vår data på olika sätt, eller säg om vi bygger API: er för en applikation. Låt oss se hur vi kan uppnå dessa.

Extrahera särskild text: I PDF-filer kan vi extrahera den specifika texten med reguljära uttryck; till exempel, säg om vi vill ha alla e-postmeddelanden och telefonnummer med regex, kan vi välja dem. Om PDF-filerna är i skannat format, måste vi antingen träna dem på en djup inlärningsalgoritm som kan förstå layouterna för PDF-filerna och extrahera fält baserat på koordinaterna och kommentarerna till träningsdata. En av de mest populära öppna källkällorna för att förstå dokumentlayouter och extrahera text är LayoutML, och den tränar på BERT-modeller för anpassad textutvinning. Vi bör dock ha tillräckligt med data för att uppnå högre noggrannhet när det gäller att extrahera text.

Tabellanpassning: Som diskuterat kan tabeller extraheras med hjälp av bibliotek som Camelot och Tabula-py eller med OCR och deep learning-baserade algoritmer. Men för anpassning måste vi använda bibliotek som pandor; Detta gör det möjligt för oss att skapa, uppdatera och serieera data från tabellerna. Den använder en anpassad datatyp som kallas en dataram, som används ofta för att manipulera och anpassa tabelldata. Andra fördelar med att använda pandor inkluderar att skriva anpassade funktioner som kan utföra vissa matematiska operationer under extraktionsprocessen.

Formatera JSON-data: Efter att ha exporterat PDF-filer till JSON är det enkelt att formatera dem, eftersom vi har en mer anpassningsbar datatyp som är nyckel-värde-paren. Vi kan antingen utveckla enkla skript eller använda onlineverktyg för att söka igenom dessa nyckel-värdepar och formatera dem. Några av de vanligaste parametrarna för formatering inkluderar indrag, separatorer, sorteringsnycklar, cirkulära kontroller, datakontroller. Om JSON används som ett API kan vi använda Postman eller andra webbläsartillägg för att formatera data och interagera med API: erna.


Vill du extrahera information från PDF-dokument och konvertera dem till ett JSON-format? Kolla in Nanonets för att automatisera export av all information från alla PDF-dokument till JSON.


Tidsstämpel:

Mer från AI och maskininlärning