Как преобразовать данные PDF в JSON PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Как преобразовать данные PDF в JSON

PDF-файлы — один из наиболее часто используемых форматов данных для деловых документов. Многие предприятия и организации используют различные инструменты для создания и чтения этих PDF-документов.

Однако выборочно извлекать конкретные/важные данные из PDF-файлов сложно.

Именно здесь на сцену выходит JSON (нотация объектов Javascript).

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

В этом сообщении блога мы рассмотрим:

  • Как Nanonets автоматизирует сложное преобразование данных из сложных деловых PDF-документов в структурированные файлы JSON.
  • Некоторые бесплатные методы с открытым исходным кодом для преобразования PDF-файлов в JSON с использованием модулей Python, Linux и Javascript.
    • Как извлечь определенные/сложные данные из PDF-файлов, такие как таблицы и определенные строки текста.
    • Пользовательские рабочие процессы, которые помогут автоматизировать процесс преобразования PDF-файлов в JSON.

Nanonets преобразует определенные данные PDF в выходные данные JSON

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


Nanonets Автоматический конвертер PDF в JSON

  • Подписаться для бесплатного плана Nanonets, который предлагает кредит на 100 страниц – кредитная карта не нужна.
  • Добавьте пакет своих деловых PDF-файлов
  • Nanonets автоматически захватывает поля из различных типов документов (счета-фактуры, квитанции, водительские права, паспорта и таблицы).
    • Вы также можете обучить ИИ Nanonets обнаруживать/фиксировать только интересующие вас поля данных из любого документа!
  • Проверьте извлеченные данные и экспортируйте их в формате JSON.
    • Вы также можете интегрировать Nanonets с множеством программ ERP. назначить вызов с нашими экспертами по искусственному интеллекту, чтобы протестировать ваш вариант использования.
  • Проверьте наши API распознавания текста автоматизировать рабочие процессы PDF в JSON
Как преобразовать данные PDF в JSON PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
Преобразование PDF в JSON с помощью Nanonets

Хотите, чтобы захватывать данные из PDF-документов и конвертировать в JSON, CSV или Excel? Узнайте, как Nanonets может помочь.

Как преобразовать данные PDF в JSON PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
Супер-счастливый пользователь Nanonets


Необходимость преобразования PDF в JSON

Почти каждый бизнес полагается на документы для обмена информацией. Это может быть документация, счета-фактуры, налоговые декларации, квитанции, медицинские заключения и многое другое.

Эти документы часто передаются/получаются в формате PDF.

Но если вы хотите найти важную информацию или создать панель мониторинга для анализа и хранения всей важной информации, сбор данных из этих PDF-файлов вручную может оказаться непростой задачей.

Если PDF-файлы создаются в электронном виде, мы можем скопировать и вставить информацию в источники данных; иначе нам, возможно, придется использовать распознавание текста и методы машинного обучения для извлечения информации.

Кроме того, данные в 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. Вертикальный поиск. Ай.
JSON-экспорт

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


Вам придется использовать алгоритмы оптического распознавания символов и машинного обучения для извлечения табличных данных в JSON. Nanonets делает именно это, как вы можете видеть ниже:

Как преобразовать данные PDF в JSON PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
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, или с помощью распознавания текста и алгоритмов на основе глубокого обучения. Но для настройки нам придется использовать библиотеки, такие как pandas; это позволит нам создавать, обновлять и сериализовать данные из таблиц. Он использует настраиваемый тип данных, называемый фреймом данных, который широко используется для управления данными таблицы и их настройки. Другие преимущества использования pandas включают написание пользовательских функций, которые могут выполнять определенные математические операции в процессе извлечения.

Форматирование данных JSON: После экспорта PDF-файлов в JSON их форматирование - простая задача, поскольку у нас есть более настраиваемый тип данных, который представляет собой пары ключ-значение. Мы могли бы разработать простые сценарии или использовать онлайн-инструменты для поиска и форматирования этих пар "ключ-значение". Некоторые из наиболее распространенных параметров форматирования включают отступы, разделители, ключи сортировки, циклические проверки, проверки данных. Если JSON используется в качестве API, мы могли бы использовать Postman или любые расширения браузера для форматирования данных и взаимодействия с API.


Хотите извлечь информацию из документов PDF и преобразовать ее в формат JSON? Воспользуйтесь Nanonets, чтобы автоматизировать экспорт любой информации из любого PDF-документа в JSON.


Отметка времени:

Больше от ИИ и машинное обучение