Jak konwertować dane PDF do JSON PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Jak przekonwertować dane PDF na JSON

Pliki PDF to jeden z najczęściej używanych formatów danych w dokumentach biznesowych. Wiele firm i organizacji polega na różnych narzędziach do tworzenia i czytania tych dokumentów PDF.

Jednak trudno jest selektywnie wyodrębnić konkretne/ważne dane z plików PDF.

W tym miejscu pojawia się JSON (Javascript Object Notation).

Jest to jeden z najbardziej lubianych formatów danych do wymiany informacji. Zwłaszcza jeśli chodzi o aplikacje internetowe, większość danych jest przekazywana za pomocą JSON za pośrednictwem interfejsów API i Zapytania do bazy danych.

W tym poście na blogu przyjrzymy się:

  • Jak Nanonets automatyzuje złożoną konwersję danych ze skomplikowanych biznesowych dokumentów PDF do ustrukturyzowanych plików JSON.
  • Niektóre bezpłatne techniki open source do konwersji plików PDF na JSON za pomocą modułów Python, Linux i JavaScript.
    • Jak wyodrębnić określone/złożone dane z plików PDF, takie jak tabele i określone ciągi tekstu.
    • Niestandardowe przepływy pracy, które mogą pomóc zautomatyzować proces konwersji plików PDF na JSON.

Nanonety konwertujące określone dane PDF na dane wyjściowe JSON

Chcesz wyodrębnić określone dane z dokumentów PDF i przekonwertować na JSON? Kasy Nanonet API aby zautomatyzować wsadową konwersję plików PDF na JSON z dowolnego dokumentu technicznego!


Nanonets Automatyczny konwerter plików PDF na JSON

  • Zapisz się za bezpłatny plan Nanonets, który oferuje kredyt na 100 stron – nie potrzebujesz karty kredytowej.
  • Dodaj partię biznesowych plików PDF
  • Nanonets automatycznie rejestruje pola z różnych typów dokumentów (faktury, paragony, prawo jazdy, paszporty i tabele)
    • Możesz także wyszkolić sztuczną inteligencję Nanonets, aby wykrywała/przechwytywała tylko te pola danych, które Cię interesują z dowolnego rodzaju dokumentu!
  • Zweryfikuj wyodrębnione dane i wyeksportuj je jako dane wyjściowe JSON
    • Możesz także zintegrować Nanonets z wieloma programami ERP – zaplanować rozmowę z naszymi ekspertami AI, aby przetestować Twój przypadek użycia.
  • Sprawdź nasze API OCR zautomatyzować przepływy pracy PDF do JSON
Jak konwertować dane PDF do JSON PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
Konwersja plików PDF do JSON za pomocą Nanonets

Chcesz przechwytywać dane z dokumentów PDF i konwertuj na JSON, csv lub przewyższać? Dowiedz się, jak Nanonety mogą pomóc.

Jak konwertować dane PDF do JSON PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
Super szczęśliwy użytkownik Nanonets


Potrzeba konwersji plików PDF na JSON

Prawie każda firma polega na dokumentach do wymiany informacji. Mogą to być dokumenty, faktury, rozliczenia podatkowe, rachunki, raporty medyczne i wiele więcej.

Dokumenty te są często udostępniane/odbierane jako pliki PDF.

Jeśli jednak chcesz wyszukiwać krytyczne informacje lub tworzyć pulpit nawigacyjny do analizowania i przechowywania wszystkich ważnych informacji, ręczne zbieranie danych z tych plików PDF może być trudnym zadaniem.

Jeśli pliki PDF są generowane elektronicznie, możemy kopiować i wklejać informacje do źródeł danych; w przeciwnym razie być może będziemy musieli użyj OCR i techniki uczenia maszynowego do wydobywania informacji.

Ponadto dane w plikach PDF nie są uporządkowane ani nie nadają się do bezpośredniego odczytu maszynowego. Dlatego może być konieczne ręczne wyszukiwanie informacji.

Ale jeśli chodzi o JSON, wszystko jest zorganizowane w pary klucz-wartość. Oto przykład.

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

Jeśli widzisz powyższy format JSON, dane są lepiej zorganizowane i możesz również wygodniej udostępniać te informacje w Internecie. Dlatego eksportowanie danych z plików PDF do formatu JSON ma kluczowe znaczenie dla wielu firm.

Korzyści biznesowe związane z JSON

Format danych JSON ma wiele zalet w porównaniu z plikami PDF dla firm:

  1. JSON jest szybszy: składnia JSON jest łatwa w użyciu; za każdym razem, gdy próbujesz przeanalizować dowolne dane JSON, wykonanie jest znacznie szybsze w porównaniu z plikami PDF i innymi formatami danych. Dzieje się tak, ponieważ składnia jest lekka i szybko wykonuje odpowiedź.
  2. Bardziej czytelny: dane JSON są bardziej czytelne; będziemy mieli proste mapowanie danych z kluczami i wartościami. Dlatego jeśli szukasz czegoś lub organizujesz dane z plików PDF, JSON będzie wygodniejszy. Dodatkowo JSON obsługuje zagnieżdżanie danych, dzięki czemu dane z tabel mogą być przechowywane wydajniej.
  3. Wygodny schemat: JSON jest uniwersalny dla większości systemów operacyjnych i języków programowania; Dlatego jeśli tworzysz jakiekolwiek oprogramowanie lub aplikację internetową, aby zautomatyzować swój biznes, JSON powinien być właściwym formatem danych. Ponadto większość przeglądarek internetowych obsługuje format JSON; dlatego nie musimy wkładać dodatkowego wysiłku, aby używać oprogramowania innych firm do odczytywania danych JSON.
  4. Łatwe udostępnianie: JSON jest najlepszym narzędziem do udostępniania danych o dowolnym rozmiarze, nawet dużych tabelach lub tekstach itp. Dzieje się tak, ponieważ JSON przechowuje dane w tablicach, więc transfer danych czyni je bardziej dostępnymi. Z tego powodu JSON jest lepszym formatem plików dla internetowych interfejsów API i tworzenia stron internetowych.

W następnej sekcji przyjrzyjmy się niektórym wyzwaniom, z którymi możemy się zmierzyć podczas konwersji plików PDF do formatu JSON.


Nanonets ma wiele interesujących przypadków użycia które mogą zoptymalizować wydajność Twojej firmy, obniżyć koszty i przyspieszyć rozwój. Dowiedzieć się jak przypadki użycia Nanonets mogą odnosić się do Twojego produktu.


Wyzwania związane z konwersją z PDF do JSON

Przyjrzyjmy się niektórym wyzwaniom związanym z eksportowaniem plików PDF do formatu JSON.

  1. Wykrywanie czcionek: Ludzie używają różnych czcionek, kolorów i wyrównań w dokumentach PDF. Dlatego parserom jest naprawdę trudno je odczytać. Ponadto podczas eksportu tego będziemy musieli zdefiniować określone reguły, aby po wydobyciu danych przez parser wszystkie informacje były poprawnie zmapowane w formacie JSON. W takich przypadkach wyrażenia regularne są powszechnie używane do wybrania określonego tekstu, a następnie wyeksportowania go do właściwego klucza w formacie JSON.
  2. Wykrywanie tekstu z zeskanowanych dokumentów: Jak wspomniano, gdy pliki PDF nie są generowane elektronicznie, będziemy musieli użyć OCR, a wybór OCR jest kluczowy. Chociaż wielu użytkowników próbuje narzędzi typu open source, takich jak tesseract, mają oni własne ograniczenia. Na przykład, jeśli tekst jest nieprawidłowo uchwycony lub niewłaściwie wyrównany podczas przechwytywania, tesseract może nie działać, a wybór innych narzędzi może być kosztowny.
  1. Tabele identyfikacyjne: Większość dokumentów biznesowych zawiera informacje tabelaryczne, a określenie tych tabel z dokumentów PDF i przekształcenie ich w JSON jest trudnym zadaniem. Istnieje kilka bibliotek opartych na Pythonie i Javie, które mogą pomóc w wyodrębnianiu tabel z elektronicznie tworzonych dokumentów PDF.
  2. Identyfikowanie tabel ze zeskanowanych plików PDF: Większość pakietów nie działa podczas skanowania plików PDF. W takim przypadku, jeśli wybierzemy OCR typu open source, taki jak tesseract, może on wyodrębnić tekst, ale może utracić całe formatowanie tabeli. Dlatego trudno jest wybrać elementy konspektu w niepoprawnym formacie. W tym miejscu będziemy musieli użyć algorytmów opartych na uczeniu maszynowym i głębokim uczeniu. Niektóre popularne algorytmy są oparte na CNN i przeprowadzono wiele badań nad ich ulepszaniem.

Poniżej znajdują się niektóre z prac badawczych, które rozwiązują problem ekstrakcji tabeli z dokumentów:

W następnej sekcji przyjrzyjmy się, jak analizować dane z pliku PDF w celu wygenerowania plików JSON.

Analizowanie danych z plików PDF i generowanie plików JSON przy użyciu Pythona i Linuksa

Analizowanie plików PDF nie jest skomplikowanym zadaniem, jeśli masz doświadczenie programisty.

Najpierw musimy sprawdzić, czy nasze pliki PDF zawierają dane tekstowe lub składają się ze zeskanowanych obrazów. Musielibyśmy sprawdzić, czy możemy wyodrębnić dane tekstowe lub przepuścić pliki przez bibliotekę OCR, jeśli tekst nie zostanie zwrócony.

Można to osiągnąć za pomocą biblioteki Pythona lub opierając się na niektórych narzędziach wiersza poleceń Linuksa.

Tekst PDF to jedna z najpopularniejszych bibliotek do analizowania elektronicznych plików PDF. Moglibyśmy to wykorzystać do przekonwertowania wszystkich danych PDF na format tekstowy, a następnie przesłania ich do formatu JSON.

Oto kilka instrukcji, jak możemy używać pdftotext i analizować pliki PDF na komputerze z systemem Linux.

Najpierw zainstaluj narzędzia wiersza poleceń:

sudo apt-get install poppler-utils

Następnie użyj pdftotext i dodaj ścieżkę źródłową pliku PDF oraz lokalizację docelową pliku tekstowego.

pdftotext {PDF-file} {text-file}

Dzięki temu powinniśmy być w stanie wyodrębnić cały czytelny tekst z plików PDF.

Aby wygenerować plik JSON, będziemy musieli ponownie popracować nad skryptem opartym na naszych danych, który może przeanalizować tekst i wyeksportować go do odpowiednich par klucz-wartość.

Oto przykładowy skrypt, który napisaliśmy w Pythonie, który konwertuje prosty .txt plik w formacie JSON.

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

Rozważ dane w pliku tekstowym jako:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Tutaj najpierw zaimportowaliśmy wbudowaną bibliotekę JSON. Teraz tworzymy słownikowy typ danych do przechowywania wszystkich par klucz-wartość z plików tekstowych. Następnie iterujemy każdą linię w pliku i rozbieramy ją na polecenie, opis i przechowujemy w utworzonym słowniku. Na koniec tworzymy nowy plik JSON i używamy json.dump metoda zrzutu słownika do pliku JSON z określoną konfiguracją, która obejmuje sortowanie i wcięcia.

Jednak nasze dane z plików PDF nie będą tak zorganizowane, jak podano w przykładzie; dlatego być może będziemy musieli użyć niestandardowych potoków i skryptów, aby przejść przez skomplikowane formatowanie tekstu. W takich przypadkach narzędzia takie jak Nanonet będzie świetnym wyborem, a w kolejnych sekcjach przyjrzymy się również, jak Nanonets rozwiązuje ten problem w znacznie łatwiejszy sposób.

Wcześniej spójrzmy na jeszcze jedną bibliotekę, która konwertuje pliki PDF na JSON za pomocą node.js:

pdf2json jest node.js moduł analizujący i konwertujący PDF z binarnego do formatu JSON; jest zbudowany z pdf.js i rozszerza go o interaktywne elementy formularzy i analizowanie treści tekstowych poza przeglądarką.

Oto przykład wykorzystania tego modułu do analizowania plików JSON:

Najpierw upewnij się, że masz npm instalatora i zainstaluj moduł za pomocą polecenia:

npm install pdf2json

Następnie na serwerze węzła możesz użyć następującego fragmentu kodu, który ładuje pdf2json i eksportuje pliki PDF do 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");

Powyższy fragment kodu wykorzystuje przykładowy plik JSON z modułu i eksportuje go do pliku JSON, możemy to sprawdzić w ./test/target/ folder w swoim projekcie. B

poniżej znajdziesz zrzut ekranu pokazujący, jak moduł eksportuje pliki JSON:

Jak konwertować dane PDF do JSON PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
Eksport JSON

W przypadku analizowania plików PDF w tabelach te biblioteki mogą po prostu nie działać!


Będziesz musiał wykorzystać algorytmy OCR i uczenia maszynowego, aby wyodrębnić dane tabelaryczne do formatu JSON. Nanonets właśnie to robi, jak widać poniżej:

Jak konwertować dane PDF do JSON PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
Nanonety konwertujące dane z PDF na JSON 


Dostosowana konwersja danych z PDF do JSON

Czasami podczas wydobywania danych z dokumentów biznesowych możemy wymagać dostosowania. Na przykład powiedzmy, że jeśli chcemy tylko określonych stron lub tabel, nie możemy tego zrobić bezpośrednio. W takim przypadku może być konieczne dostarczenie parserom dodatkowych reguł, co znowu jest czasochłonne. Zobaczmy jednak, jak możemy dostosować i działania, których potrzebuje większość ludzi.

Poniżej znajdują się niektóre czynności, które są wymagane do dostosowania konwersji plików PDF do JSON:

  • Wyodrębnij tylko określony tekst lub strony z plików PDF
  • Wyodrębnij wszystkie tabele z dokumentów PDF
  • Wyodrębnij poszczególne kolumny z określonych tabel w plikach PDF
  • Filtruj tekst z plików PDF przed wyeksportowaniem ich do formatu JSON
  • Tworzenie zagnieżdżonego JSON na podstawie wyodrębnionych danych z plików PDF
  • Formatuj strukturę JSON na podstawie danych
  • Twórz, usuwaj, aktualizuj wartości niektórych pól w JSON po ekstrakcji

Oto niektóre z działań, które często są wymagane do przechowywania naszych danych na różne sposoby lub powiedzmy, jeśli budujemy interfejsy API dla aplikacji. Zobaczmy, jak możemy to osiągnąć.

Wyodrębnianie określonego tekstu: W plikach PDF możemy wyodrębnić konkretny tekst za pomocą wyrażeń regularnych; na przykład, powiedzmy, że jeśli chcemy, aby wszystkie e-maile i numery telefonów używały wyrażenia regularnego, możemy je wybrać. Jeśli pliki PDF są w formacie zeskanowanym, musimy albo przeszkolić je za pomocą algorytmu głębokiego uczenia, który może zrozumieć układ plików PDF i wyodrębnić pola na podstawie współrzędnych i adnotacji wprowadzonych do danych szkoleniowych. Jednym z najpopularniejszych repozytoriów typu open source do zrozumienia układów dokumentów i wyodrębniania tekstu jest LayoutML, który szkoli się na modelach BERT do niestandardowego wyodrębniania tekstu. Powinniśmy jednak mieć wystarczającą ilość danych, aby osiągnąć większą dokładność w wyodrębnianiu tekstu.

Dostosowanie stołu: Jak wspomniano, tabele można wyodrębnić za pomocą bibliotek, takich jak Camelot i Tabula-py lub za pomocą algorytmów OCR i głębokiego uczenia się. Ale w celu dostosowania będziemy musieli użyć bibliotek takich jak pandy; to pozwoli nam tworzyć, aktualizować i serializować dane z tabel. Wykorzystuje niestandardowy typ danych zwany ramką danych, który jest powszechnie używany do manipulowania i dostosowywania danych tabeli. Inne zalety korzystania z pand obejmują pisanie niestandardowych funkcji, które mogą wykonywać określone operacje matematyczne podczas procesu wyodrębniania.

Formatowanie danych JSON: Po wyeksportowaniu plików PDF do formatu JSON ich formatowanie jest prostym zadaniem, ponieważ mamy bardziej konfigurowalny typ danych, którym są pary klucz-wartość. Moglibyśmy opracować proste skrypty lub skorzystać z narzędzi online, aby przeszukać te pary klucz-wartość i sformatować je. Niektóre z najczęstszych parametrów formatowania obejmują wcięcia, separatory, klucze sortowania, kontrole cykliczne, kontrole danych. Jeśli JSON jest używany jako API, możemy użyć Postmana lub dowolnego rozszerzenia przeglądarki do sformatowania danych i interakcji z API.


Chcesz wyodrębnić informacje z dokumentów PDF i przekonwertować je na format JSON? Sprawdź Nanonets, aby zautomatyzować eksport dowolnych informacji z dowolnego dokumentu PDF do formatu JSON.


Znak czasu:

Więcej z AI i uczenie maszynowe