Hoe PDF-gegevens converteren naar JSON PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Hoe PDF-gegevens naar JSON te converteren

PDF's zijn een van de meest gebruikte gegevensindelingen voor zakelijke documenten. Veel bedrijven en organisaties zijn afhankelijk van verschillende tools om deze PDF-documenten te maken en te lezen.

Het is echter moeilijk om selectief specifieke/belangrijke gegevens uit PDF's te extraheren.

Dit is waar JSON (Javascript Object Notation) in beeld komt.

Het is een van de meest geliefde dataformaten voor informatie-uitwisseling. Vooral als het gaat om webapplicaties, worden de meeste gegevens gecommuniceerd met behulp van JSON via API's en DB-query's.

In deze blogpost kijken we naar:

  • Hoe Nanonets complexe dataconversie automatiseert van gecompliceerde zakelijke PDF-documenten naar gestructureerde JSON-bestanden.
  • Enkele gratis open source-technieken voor het converteren van PDF's naar JSON met behulp van Python-, Linux- en Javascript-modules.
    • Hoe specifieke/complexe gegevens uit PDF's te extraheren, zoals tabellen en specifieke tekststrings.
    • Aangepaste workflows die kunnen helpen bij het automatiseren van het proces van het converteren van PDF's naar JSON.

Nanonetten die specifieke PDF-gegevens converteren naar JSON-uitvoer

Wilt u specifieke gegevens uit PDF-documenten extraheren en converteren naar JSON? Uitchecken Nanonets-API om batch-PDF naar JSON-conversie van elk soort technisch document te automatiseren!


Nanonets Geautomatiseerde PDF naar JSON Converter

  • Aanmelden voor het gratis abonnement van Nanonets met een tegoed van 100 pagina's - geen creditcard nodig.
  • Voeg een batch van uw zakelijke PDF-bestanden toe
  • Nanonets legt automatisch velden vast van een reeks documenttypes (facturen, ontvangstbewijzen, rijbewijs, paspoorten en tabellen)
    • U kunt de AI van Nanonets ook trainen om alleen de gegevensvelden van uw interesse uit elk soort document te detecteren/vastleggen!
  • Controleer de geรซxtraheerde gegevens en exporteer als JSON-uitvoer
    • U kunt Nanonets ook integreren met een groot aantal ERP-software - een gesprek plannen met onze AI-experts om uw use case te testen.
  • Bekijk onze OCR-API om PDF naar JSON-workflows te automatiseren
Hoe PDF-gegevens converteren naar JSON PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
Conversie van PDF naar JSON met Nanonets

Willen gegevens vastleggen van PDF-documenten en converteren naar JSON, csv of Excel? Ontdek hoe Nanonets kan helpen.

Hoe PDF-gegevens converteren naar JSON PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
Een supergelukkige Nanonets-gebruiker


De noodzaak van conversie van PDF naar JSON

Bijna elk bedrijf vertrouwt op documenten voor het delen van informatie. Dit kunnen documentatie, facturen, belastingaangiften, ontvangstbewijzen, medische rapporten en nog veel meer zijn.

Deze documenten worden vaak gedeeld/ontvangen als pdf.

Maar als u kritische informatie wilt zoeken of een dashboard wilt bouwen om alle belangrijke informatie te analyseren en op te slaan, kan het handmatig verzamelen van gegevens uit deze pdf's een zware opgave zijn.

Als de PDF's elektronisch worden gegenereerd, kunnen we informatie kopiรซren en plakken in gegevensbronnen; anders moeten we misschien gebruik OCR en machine learning-technieken om informatie te extraheren.

Ook zijn de gegevens in de pdf's niet geordend of direct machineleesbaar. Daarom moeten we mogelijk handmatig naar informatie zoeken.

Maar als het op JSON aankomt, is alles georganiseerd in sleutel-waardeparen. Hier is een voorbeeld.

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

Als u het bovenstaande JSON-formaat kunt zien, zijn de gegevens overzichtelijker en kunt u deze informatie ook gemakkelijker op internet delen. Daarom is het voor veel bedrijven cruciaal om gegevens uit PDF's naar JSON te exporteren.

Zakelijke voordelen die bij JSON horen

JSON-gegevensindeling heeft veel voordelen ten opzichte van PDF's voor bedrijven:

  1. JSON is sneller: JSON-syntaxis is gemakkelijk te gebruiken; wanneer u JSON-gegevens probeert te ontleden, is de uitvoering veel sneller in vergelijking met PDF's en andere gegevensindelingen. Dit komt omdat de syntaxis licht van gewicht is en het antwoord snel uitvoert.
  2. Beter leesbaar: JSON-gegevens zijn beter leesbaar; we hebben een eenvoudige gegevenstoewijzing met sleutels en waarden. Daarom is JSON handiger als u iets zoekt of de gegevens uit PDF's organiseert. Daarnaast ondersteunt JSON het nesten van data, waardoor data uit tabellen efficiรซnter kan worden opgeslagen.
  3. Handig schema: JSON is universeel voor de meeste besturingssystemen en programmeertalen; Daarom, als u software of webapplicaties bouwt om uw bedrijf te automatiseren, zou JSON het juiste gegevensformaat moeten zijn. Ook ondersteunen de meeste webbrowsers het JSON-formaat; daarom hoeven we geen extra moeite te doen om software van derden te gebruiken om JSON-gegevens te lezen.
  4. Eenvoudig bestanden delen: JSON is de beste tool voor het delen van gegevens van elke grootte, zelfs grote tabellen of tekst enz. Dit komt omdat JSON gegevens in de arrays opslaat, zodat gegevensoverdracht het toegankelijker maakt. Om deze reden is JSON een superieur bestandsformaat voor web-API's en webontwikkeling.

Laten we in het volgende gedeelte eens kijken naar enkele van de uitdagingen waarmee we te maken kunnen krijgen bij het converteren van PDF's naar JSON-indeling.


Nanonets heeft veel interessante use cases die uw bedrijfsprestaties kunnen optimaliseren, kosten kunnen besparen en de groei kunnen stimuleren. Ontdek hoe de use-cases van Nanonets van toepassing kunnen zijn op uw product.


Uitdagingen bij het converteren van PDF naar JSON

Laten we eens kijken naar enkele van de uitdagingen bij het exporteren van PDF's naar JSON.

  1. Lettertypen detecteren: Mensen gebruiken verschillende lettertypen, kleuren en uitlijningen in PDF-documenten. Daarom is het erg moeilijk voor parsers om deze te lezen. Tijdens het exporteren moeten we ook specifieke regels definiรซren, zodat nadat de parser de gegevens heeft geรซxtraheerd, alle informatie correct moet worden toegewezen in het JSON-formaat. In dergelijke gevallen worden reguliere expressies veel gebruikt om specifieke tekst uit te kiezen en deze vervolgens te exporteren naar de juiste sleutel in het JSON-formaat.
  2. Tekst detecteren van gescande documenten: Zoals besproken, zullen we, wanneer de PDF's niet elektronisch worden gegenereerd, een OCR moeten gebruiken en het kiezen van een OCR is cruciaal. Hoewel veel gebruikers open-sourcetools zoals tesseract proberen, hebben ze hun eigen beperkingen. Als de tekst bijvoorbeeld niet goed is vastgelegd of verkeerd is uitgelijnd tijdens het vastleggen, werkt tesseract mogelijk niet en kan het kiezen van andere tools duur zijn.
  1. Tabellen identificeren: De meeste zakelijke documenten bevatten tabelgegevens en het bepalen van deze tabellen uit PDF-documenten en het converteren naar JSON is een uitdagende taak. Er zijn enkele bibliotheken op basis van Python en Java die kunnen helpen bij het extraheren van tabellen uit elektronisch gemaakte PDF-documenten.
  2. Tabellen identificeren uit gescande PDF's: Wanneer de PDF's worden gescand, werken de meeste pakketten niet. In dit geval, als we een open-source OCR zoals tesseract kiezen, kan het tekst extraheren, maar alle tabelopmaak verliezen. Daarom is het een uitdaging om overzichtsitems in een onjuist formaat te kiezen. Dit is waar we op Machine Learning en Deep Learning gebaseerde algoritmen moeten gebruiken. Sommige populaire algoritmen zijn gebaseerd op CNN's en er is veel onderzoek gedaan om deze algoritmen te verbeteren.

Hieronder vindt u enkele onderzoeksdocumenten die het probleem van tabelextractie uit documenten oplossen:

Laten we in de volgende sectie kijken hoe u gegevens uit PDF kunt ontleden om JSON-bestanden te genereren.

Gegevens uit PDF's ontleden en JSON-bestanden genereren met Python en Linux

Het ontleden van PDF's is geen ingewikkelde taak als je ervaring hebt met ontwikkelaars.

Allereerst moeten we controleren of onze pdf-bestanden tekstgegevens bevatten of uit gescande afbeeldingen bestaan. We zouden moeten controleren of we tekstgegevens kunnen extraheren of de bestanden door een OCR-bibliotheek kunnen sturen als er geen tekst is geretourneerd.

Dit kan worden bereikt met behulp van een Python-bibliotheek of door te vertrouwen op enkele Linux-opdrachtregelhulpprogramma's.

Pdftotekst is een van de meest populaire bibliotheken om elektronische PDF's te ontleden. We zouden dit kunnen gebruiken om alle PDF-gegevens naar tekstformaat te converteren en vervolgens naar een JSON-formaat te pushen.

Hier zijn enkele van de instructies over hoe we kunnen gebruiken: pdftotext en ontleden door PDF op een Linux-machine.

Installeer eerst opdrachtregelprogramma's:

sudo apt-get install poppler-utils

Gebruik vervolgens de pdftotext commando en voeg het bronpad van het PDF-bestand en de locatie van het doeltekstbestand toe.

pdftotext {PDF-file} {text-file}

Hiermee zouden we alle leesbare tekst uit de PDF-bestanden moeten kunnen extraheren.

Om een โ€‹โ€‹JSON-bestand te genereren, zullen we opnieuw moeten werken aan een script op basis van onze gegevens dat de tekst kan ontleden en exporteren naar relevante sleutel-waardeparen.

Hier is een voorbeeldscript dat we in Python hebben geschreven en dat een eenvoudige converteert .txt bestand in JSON-formaat.

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

Beschouw de gegevens in het tekstbestand als:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Hier hebben we eerst de ingebouwde JSON-bibliotheek geรฏmporteerd. We maken nu een woordenboekgegevenstype om alle sleutel-waardeparen uit de tekstbestanden op te slaan. Vervolgens herhalen we elke regel in het bestand en strippen het in opdracht, beschrijving en bewaren het in het gemaakte woordenboek. Ten slotte maken we een nieuw JSON-bestand en gebruiken we de json.dump methode om het woordenboek in het JSON-bestand te dumpen met een specifieke configuratie die sorteren en inspringen omvat.

Onze gegevens uit PDF's zullen echter niet zo georganiseerd zijn als in het voorbeeld; daarom moeten we mogelijk aangepaste pijplijnen en scripts gebruiken om ingewikkelde tekstopmaak te doorlopen. In dergelijke gevallen kunnen tools zoals: Nanonetten een uitstekende keuze zijn, en we zullen in de volgende paragrafen ook bekijken hoe Nanonets dit probleem op een veel eenvoudigere manier oplost.

Laten we eerst nog eens kijken naar nog een bibliotheek die PDF naar JSON converteert met node.js:

pdf2json is een node.js module die PDF ontleedt en converteert van binair naar JSON-formaat; het is gebouwd met pdf.js en breidt het uit met interactieve formulierelementen en tekstinhoud die buiten de browser wordt geparseerd.

Hier is een voorbeeld van het gebruik van deze module om uw JSON-bestanden te ontleden:

Zorg er eerst voor dat je npm installer en installeer de module met de volgende opdracht:

npm install pdf2json

Vervolgens kunt u in uw node-server het volgende fragment gebruiken dat de . laadt pdf2json en exporteert pdf's naar 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");

Het bovenstaande codefragment gebruikt een voorbeeld-JSON-bestand uit de module en exporteert het naar een JSON-bestand, we kunnen dit bekijken in de ./test/target/ map in uw project. B

Hieronder vindt u een screenshot van hoe de module de JSON-bestanden exporteert:

Hoe PDF-gegevens converteren naar JSON PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
JSON-export

Voor het ontleden van PDF's in tabellen, werken deze bibliotheken mogelijk gewoon niet!


U moet gebruikmaken van OCR- en Machine Learning-algoritmen om tabelgegevens in JSON te extraheren. Nanonets doet precies dat, zoals je hieronder kunt zien:

Hoe PDF-gegevens converteren naar JSON PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
Nanonetten converteren gegevens van PDF naar JSON 


Aangepaste gegevensconversie van PDF naar JSON

Soms hebben we bij het extraheren van de gegevens uit bedrijfsdocumenten misschien maatwerk nodig. Stel bijvoorbeeld dat als we alleen bepaalde pagina's of tabellen willen, we dit niet direct kunnen doen. In dit geval moeten we mogelijk aanvullende regels aan de parsers geven, wat weer tijdrovend is. Maar laten we eens kijken hoe we de aanpassingen en de acties kunnen doen die de meeste mensen nodig hebben.

Hieronder staan โ€‹โ€‹enkele van de acties die nodig zijn voor aanpassing in PDF naar JSON-conversie:

  • Extraheer alleen bepaalde tekst of pagina's uit PDF's
  • Pak alle tabellen uit PDF-documenten
  • Bepaalde kolommen uit bepaalde tabellen in PDF's extraheren
  • Filter tekst uit PDF's voordat u ze naar JSON exporteert
  • Geneste JSON maken op basis van de geรซxtraheerde gegevens uit PDF's
  • JSON-structuur opmaken op basis van gegevens
  • Creรซer, verwijder, update waarden van bepaalde velden in JSON na extractie

Dit zijn enkele van de acties die vaak nodig zijn om onze gegevens op verschillende manieren op te slaan, of bijvoorbeeld als we API's bouwen voor een applicatie. Laten we kijken hoe we deze kunnen bereiken.

Bepaalde tekst extraheren: In PDF's konden we de specifieke tekst extraheren met behulp van reguliere expressies; Stel bijvoorbeeld dat als we alle e-mails en telefoonnummers willen gebruiken met regex, we ze kunnen uitzoeken. Als de PDF's in gescande indeling zijn, moeten we ze ofwel trainen op een deep learning-algoritme dat de lay-outs van de PDF's kan begrijpen en velden extraheren op basis van de coรถrdinaten en aantekeningen die bij de trainingsgegevens zijn gemaakt. Een van de meest populaire open-source opslagplaatsen voor het begrijpen van documentlay-outs en het extraheren van tekst is LayoutML, en het traint op BERT-modellen voor aangepaste tekstextractie. We zouden echter voldoende gegevens moeten hebben om een โ€‹โ€‹hogere nauwkeurigheid te bereiken bij het extraheren van tekst.

Tafelaanpassing: Zoals besproken, kunnen tabellen worden geรซxtraheerd met behulp van bibliotheken zoals Camelot en Tabula-py of met behulp van OCR en op deep learning gebaseerde algoritmen. Maar voor maatwerk zullen we bibliotheken zoals panda's moeten gebruiken; hierdoor kunnen we de gegevens uit de tabellen maken, bijwerken en serialiseren. Het maakt gebruik van een aangepast gegevenstype, een dataframe genaamd, dat veel wordt gebruikt voor het manipuleren en aanpassen van de tabelgegevens. Andere voordelen van het gebruik van panda's zijn het schrijven van aangepaste functies die bepaalde wiskundige bewerkingen kunnen uitvoeren tijdens het extractieproces.

JSON-gegevens opmaken: Na het exporteren van PDF's naar JSON, is het formatteren ervan een eenvoudige taak, omdat we een meer aanpasbaar gegevenstype hebben, namelijk de sleutel-waardeparen. We kunnen ofwel eenvoudige scripts ontwikkelen of online tools gebruiken om deze sleutel-waardeparen te doorzoeken en op te maken. Enkele van de meest voorkomende parameters voor opmaak zijn onder meer inspringen, scheidingstekens, sorteersleutels, circulaire controles, gegevenscontroles. Als de JSON wordt gebruikt als een API, kunnen we Postman of andere browserextensies gebruiken om de gegevens op te maken en te communiceren met de API's.


Wilt u informatie uit PDF-documenten extraheren en converteren naar een JSON-indeling? Bekijk Nanonets om het exporteren van informatie uit elk PDF-document naar JSON te automatiseren.


Tijdstempel:

Meer van AI en machine learning