Як конвертувати PDF-дані в JSON PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Як конвертувати PDF-дані в JSON

PDF-файли є одним із найбільш використовуваних форматів даних для ділових документів. Багато підприємств і організацій використовують різні інструменти для створення та читання цих PDF-документів.

Однак вибірково витягувати певні/важливі дані з PDF-файлів важко.

Ось тут і з’являється JSON (об’єктна нотація Javascript).

Це один із найулюбленіших форматів даних для обміну інформацією. Особливо коли мова йде про веб-додатки, більшість даних передається за допомогою JSON через API та запити до БД.

У цій публікації блогу ми розглянемо:

  • Як Nanonets автоматизує перетворення складних даних із складних бізнес-документів PDF у структуровані файли JSON.
  • Деякі безкоштовні методики з відкритим кодом для перетворення PDF-файлів у JSON за допомогою модулів Python, Linux і Javascript.
    • Як витягти певні/складні дані з PDF-файлів, наприклад таблиці та певні рядки тексту.
    • Спеціальні робочі процеси, які можуть допомогти автоматизувати процес перетворення PDF-файлів у JSON.

Наномережі перетворюють певні дані PDF у вихідні дані JSON

Хочете отримати певні дані з документів PDF і конвертувати їх у JSON? Перевірити API Nanonets для автоматизації пакетного перетворення PDF у JSON із будь-якого технічного документа!


Автоматизований конвертер Nanonets PDF у JSON

  • Зареєструватися для безкоштовного плану Nanonets, який пропонує кредит на 100 сторінок – кредитна картка не потрібна.
  • Додайте пакет PDF-файлів вашого бізнесу
  • Nanonets автоматично збирає поля з різних типів документів (рахунки-фактури, квитанції, водійські права, паспорти та таблиці)
    • Ви також можете навчити ШІ Nanonets виявляти/захоплювати лише ті поля даних, які вас цікавлять, із будь-якого документа!
  • Перевірте отримані дані та експортуйте їх у форматі JSON
    • Ви також можете інтегрувати Nanonets із безліччю програм ERP – запланувати дзвінок з нашими експертами зі штучного інтелекту, щоб перевірити ваш варіант використання.
  • Перевірте наш API OCR для автоматизації робочих процесів PDF у JSON
Як конвертувати PDF-дані в JSON PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
Конвертація PDF у JSON за допомогою Nanonets

Хочете, щоб захоплення даних з PDF-документів і конвертувати в JSON, CSV або перевершувати? Дізнайтеся, як наномережі можуть допомогти.

Як конвертувати PDF-дані в JSON PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
Надзвичайно щасливий користувач Nanonets


Необхідність конвертації PDF у JSON

Майже кожен бізнес покладається на документи для обміну інформацією. Це можуть бути документи, рахунки-фактури, податкові декларації, квитанції, медичні висновки та багато іншого.

Ці документи часто надсилаються/отримуються як файли PDF.

Але якщо ви хочете шукати важливу інформацію або створити інформаційну панель для аналізу та зберігання всієї важливої ​​інформації, вручну зібрати дані з цих PDF-файлів може виявитися складним завданням.

Якщо PDF-файли створено в електронному вигляді, ми можемо скопіювати та вставити інформацію в джерела даних; інакше нам, можливо, доведеться використовувати OCR і методи машинного навчання для отримання інформації.

Крім того, дані у PDF-файлах не впорядковані та не піддаються машинному читанню. Тому нам, можливо, доведеться шукати інформацію вручну.

Але коли мова заходить про JSON, все організовано в парах ключ-значення. Ось приклад.

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

Якщо ви бачите наведений вище формат JSON, дані більш упорядковані, і ви також можете зручніше ділитися цією інформацією в Інтернеті. Ось чому експорт даних із PDF-файлів у JSON є надзвичайно важливим для багатьох компаній.

Бізнес-переваги, які приходять із JSON

Формат даних JSON має багато переваг перед PDF для бізнесу:

  1. JSON швидше: синтаксис JSON простий у використанні; щоразу, коли ви намагаєтеся проаналізувати будь-які дані JSON, виконання відбувається набагато швидше порівняно з PDF-файлами та іншими форматами даних. Це пояснюється тим, що синтаксис легкий і швидко виконує відповідь.
  2. Більш читабельний: дані JSON легше читаються; ми матимемо пряме зіставлення даних із ключами та значеннями. Тому, якщо ви щось шукаєте або впорядковуєте дані з PDF-файлів, JSON буде зручнішим. Крім того, JSON підтримує вкладеність даних, завдяки чому дані з таблиць можуть зберігатися більш ефективно.
  3. Зручна схема: JSON є універсальним для більшості операційних систем і мов програмування; Тому, якщо ви створюєте будь-яке програмне забезпечення або веб-додаток для автоматизації свого бізнесу, JSON має бути правильним форматом даних. Крім того, більшість веб-браузерів підтримують формат JSON; тому нам не потрібно докладати додаткових зусиль, щоб використовувати програмне забезпечення сторонніх розробників для читання даних JSON.
  4. Простота обміну: JSON є найкращим інструментом для обміну даними будь-якого розміру, навіть великими таблицями чи текстом тощо. Це тому, що JSON зберігає дані в масивах, тому передача даних робить їх більш доступними. З цієї причини JSON є кращим форматом файлів для веб-API та веб-розробки.

У наступному розділі розглянемо деякі проблеми, з якими ми можемо зіткнутися під час перетворення PDF-файлів у формат JSON.


У Нанонець багато цікавого випадки використання що може оптимізувати ефективність вашого бізнесу, заощадити витрати та стимулювати зростання. Дізнайся як приклади використання Nanonets можуть застосовуватися до вашого продукту.


Проблеми з перетворенням із PDF на JSON

Давайте розглянемо деякі проблеми експорту з PDF-файлів у JSON.

  1. Виявлення шрифтів: люди використовують різні шрифти, кольори та вирівнювання в документах PDF. Тому синтаксичним аналізаторам дуже важко їх прочитати. Крім того, експортуючи це, нам доведеться визначити спеціальні правила, щоб після того, як синтаксичний аналізатор витягне дані, уся інформація має бути правильно відображена у форматі JSON. У таких випадках регулярні вирази широко використовуються для вибору певного тексту та експорту його до правильного ключа у форматі JSON.
  2. Виявлення тексту зі сканованих документів: Як обговорювалося, коли PDF-файли не створюються в електронному вигляді, нам доведеться використовувати OCR, і вибір OCR є вирішальним. Хоча багато користувачів пробують такі інструменти з відкритим вихідним кодом, як tesseract, вони мають власний набір обмежень. Наприклад, якщо текст захоплено неправильно або неправильно вирівняно під час захоплення, tesseract може не працювати, а вибір інших інструментів може бути дорогим.
  1. Ідентифікаційні таблиці: більшість бізнес-документів містять табличну інформацію, і визначення цих таблиць із PDF-документів і перетворення їх у JSON є складним завданням. Є деякі бібліотеки на основі Python і Java, які можуть допомогти видобувати таблиці з електронних PDF-документів.
  2. Ідентифікація таблиць зі сканованих PDF-файлів: Коли PDF-файли скануються, більшість пакетів не працюють. У цьому випадку, якщо ми виберемо OCR з відкритим кодом, як-от tesseract, він може витягти текст, але може втратити все форматування таблиці. Тому підібрати елементи контуру в неправильному форматі складно. Тут нам доведеться використовувати алгоритми машинного та глибокого навчання. Деякі популярні алгоритми засновані на CNN, і було проведено багато досліджень щодо вдосконалення цих алгоритмів.

Нижче наведено деякі дослідницькі роботи, які вирішують проблему вилучення таблиці з документів:

У наступному розділі розглянемо, як аналізувати дані з PDF для створення файлів JSON.

Аналіз даних із PDF-файлів і генерація файлів JSON за допомогою Python і Linux

Розбір PDF-файлів не є складним завданням, якщо у вас є досвід розробника.

По-перше, ми повинні перевірити, чи наші PDF-файли містять текстові дані чи складаються зі сканованих зображень. Ми повинні перевірити, чи можемо ми витягнути текстові дані, або передати файли через бібліотеку OCR, якщо текст не повернуто.

Цього можна досягти за допомогою бібліотеки Python або покладаючись на деякі утиліти командного рядка Linux.

Pdftotext є однією з найпопулярніших бібліотек для аналізу електронних PDF-файлів. Ми могли б використати це, щоб перетворити всі дані PDF у текстовий формат, а потім перемістити їх у формат JSON.

Ось деякі з інструкцій щодо використання pdftotext і проаналізувати PDF на машині Linux.

Спочатку встановіть інструменти командного рядка:

sudo apt-get install poppler-utils

Далі, використовуйте pdftotext і додайте вихідний шлях PDF-файлу та місце призначення текстового файлу.

pdftotext {PDF-file} {text-file}

Завдяки цьому ми зможемо витягнути весь читабельний текст із файлів PDF.

Щоб створити файл JSON, нам доведеться знову попрацювати над сценарієм на основі наших даних, який може проаналізувати текст і експортувати його у відповідні пари ключ-значення.

Ось приклад сценарію, який ми написали на Python, який перетворює простий .txt файл у форматі 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()

Вважайте, що дані всередині текстового файлу:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Тут ми спочатку імпортували вбудовану бібліотеку JSON. Тепер ми створюємо тип даних словника для зберігання всіх пар ключ-значення з текстових файлів. Далі ми переглядаємо кожен рядок у файлі, розділяємо його на команду, опис і зберігаємо в створеному словнику. Нарешті, ми створюємо новий файл JSON і використовуємо json.dump метод скидання словника у файл JSON із певною конфігурацією, що включає сортування та відступи.

Однак наші дані з PDF-файлів не будуть так упорядковані, як наведено в прикладі; тому нам, можливо, доведеться використовувати спеціальні конвеєри та сценарії для проходження складного форматування тексту. У таких випадках інструменти, як Нанонети буде чудовим вибором, і ми також розглянемо, як Nanonets вирішує цю проблему набагато простішим способом у наступних розділах.

Перед цим давайте розглянемо ще одну бібліотеку, яка перетворює PDF у JSON за допомогою node.js:

pdf2json це Node.js модуль, який аналізує та перетворює PDF з бінарного формату на JSON; це побудовано з pdf.js і розширює його за допомогою інтерактивних елементів форми та аналізу текстового вмісту поза браузером.

Ось приклад використання цього модуля для аналізу файлів JSON:

По-перше, переконайтеся, що є npm і встановіть модуль за допомогою такої команди:

npm install pdf2json

Далі на сервері вузлів ви можете використати наступний фрагмент, який завантажує pdf2json і експортує PDF-файли в 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");

Наведений вище фрагмент коду використовує приклад файлу JSON із модуля та експортує його у файл JSON, ми можемо перевірити це в ./test/target/ у вашому проекті. Б

Нижче ви знайдете знімок екрана того, як модуль експортує файли JSON:

Як конвертувати PDF-дані в JSON PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
Експорт JSON

Для аналізу PDF-файлів у таблицях ці бібліотеки можуть просто не працювати!


Щоб отримати табличні дані в JSON, вам доведеться використовувати алгоритми OCR і машинного навчання. Nanonets робить саме це, як ви бачите нижче:

Як конвертувати PDF-дані в JSON PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
Nanonets перетворює дані з PDF на JSON 


Індивідуальне перетворення даних із PDF у JSON

Іноді під час отримання даних із бізнес-документів нам може знадобитися налаштувати. Наприклад, якщо нам потрібні лише певні сторінки чи таблиці, ми не можемо зробити це безпосередньо. У цьому випадку нам може знадобитися надати додаткові правила синтаксичним аналізаторам, що знову забирає багато часу. Але давайте подивимося, як ми можемо виконати налаштування та дії, які потрібні більшості людей.

Нижче наведено деякі дії, необхідні для налаштування перетворення PDF у JSON.

  • Витягуйте лише певний текст або сторінки з PDF-файлів
  • Витягніть усі таблиці з документів PDF
  • Витягніть окремі стовпці з певних таблиць у PDF-файлах
  • Фільтруйте текст із PDF-файлів перед експортом у JSON
  • Створення вкладеного JSON на основі витягнутих даних із PDF-файлів
  • Форматувати структуру JSON на основі даних
  • Створювати, видаляти, оновлювати значення певних полів у JSON після вилучення

Це деякі з дій, які часто потрібні для зберігання наших даних різними способами, або, наприклад, якщо ми створюємо API для програми. Давайте подивимося, як ми можемо цього досягти.

Вилучення окремого тексту: у PDF-файлах ми можемо витягти певний текст за допомогою регулярних виразів; наприклад, скажімо, якщо нам потрібні всі електронні адреси та номери телефонів за допомогою регулярного виразу, ми можемо вибрати їх. Якщо PDF-файли є у відсканованому форматі, нам потрібно або навчити їх на алгоритмі глибокого навчання, який може розуміти макети PDF-файлів і витягувати поля на основі координат і анотацій, зроблених до навчальних даних. Одним із найпопулярніших сховищ із відкритим вихідним кодом для розуміння макетів документів і вилучення тексту є LayoutML, і він навчається на моделях BERT для спеціального вилучення тексту. Однак ми повинні мати достатньо даних, щоб досягти більшої точності вилучення тексту.

Налаштування таблиці: Як обговорювалося, таблиці можна видобувати за допомогою таких бібліотек, як Camelot і Tabula-py, або за допомогою OCR і алгоритмів на основі глибокого навчання. Але для налаштування нам доведеться використовувати такі бібліотеки, як pandas; це дозволить нам створювати, оновлювати та серіалізувати дані з таблиць. Він використовує спеціальний тип даних, званий фреймом даних, який широко використовується для маніпулювання та налаштування даних таблиці. Інші переваги використання pandas включають написання спеціальних функцій, які можуть виконувати певні математичні операції під час процесу вилучення.

Форматування даних JSON: Після експорту PDF-файлів у JSON їхнє форматування є простим завданням, оскільки ми маємо більш настроюваний тип даних, яким є пари ключ-значення. Ми могли б або розробити прості сценарії, або використати онлайн-інструменти для пошуку в цих парах ключ-значення та їх форматування. Деякі з найпоширеніших параметрів форматування включають відступи, роздільники, ключі сортування, циклічні перевірки, перевірки даних. Якщо JSON використовується як API, ми можемо використовувати Postman або будь-які розширення браузера для форматування даних і взаємодії з API.


Хочете отримати інформацію з документів PDF і перетворити їх у формат JSON? Перевірте Nanonets, щоб автоматизувати експорт будь-якої інформації з будь-якого PDF-документа в JSON.


Часова мітка:

Більше від ШІ та машинне навчання