Como converter dados PDF em JSON PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Como converter dados PDF para JSON

PDFs são um dos formatos de dados mais usados ​​para documentos comerciais. Muitas empresas e organizações dependem de diversas ferramentas para criar e ler esses documentos PDF.

No entanto, é difícil extrair dados específicos/importantes de PDFs de forma seletiva.

É aqui que o JSON (Javascript Object Notation) entra em cena.

É um dos formatos de dados mais apreciados para troca de informações. Especialmente quando se trata de aplicações web, a maioria dos dados é comunicada usando JSON através de APIs e Consultas de banco de dados.

Nesta postagem do blog, veremos:

  • Como Nanonets automatiza a conversão de dados complexos de documentos PDF empresariais complicados para arquivos JSON estruturados.
  • Algumas técnicas gratuitas de código aberto para converter PDFs em JSON usando módulos Python, Linux e Javascript.
    • Como extrair dados específicos/complexos de PDFs, como tabelas e sequências de texto específicas.
    • Fluxos de trabalho personalizados que podem ajudar a automatizar o processo de conversão de PDFs em JSON.

Nanonets convertendo dados PDF específicos em saídas JSON

Quer extrair dados específicos de documentos PDF e converter para JSON? Confira API de nanonets para automatizar a conversão em lote de PDF para JSON de qualquer tipo de documento técnico!


Conversor automatizado de PDF para JSON Nanonets

  • Seja um voluntário para o plano gratuito da Nanonets que oferece crédito de 100 páginas – não precisa de cartão de crédito.
  • Adicione um lote de arquivos PDF da sua empresa
  • Nanonets captura automaticamente campos de vários tipos de documentos (faturas, recibos, carteira de motorista, passaportes e tabelas)
    • Você também pode treinar a IA da Nanonets para detectar/capturar apenas os campos de dados de seu interesse de qualquer tipo de documento!
  • Verifique os dados extraídos e exporte como saídas JSON
    • Você também pode integrar Nanonets com uma série de software ERP – agendar uma chamada com nossos especialistas em IA para testar seu caso de uso.
  • Confira nosso API OCR para automatizar fluxos de trabalho de PDF para JSON
Como converter dados PDF em JSON PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.
Conversão de PDF para JSON com Nanonets

Quer capturar dados de documentos PDF e converta para JSON, csv ou Excel? Descubra como as Nanonets podem ajudar.

Como converter dados PDF em JSON PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.
Um usuário superfeliz de Nanonets


A necessidade de conversão de PDF em JSON

Quase todas as empresas dependem de documentos para compartilhar informações. Podem ser documentação, faturas, declarações fiscais, recibos, relatórios médicos e muito mais.

Esses documentos são frequentemente compartilhados/recebidos como PDFs.

Mas se você deseja pesquisar informações críticas ou criar um painel para analisar e armazenar todas as informações importantes, coletar manualmente os dados desses PDFs pode ser uma tarefa difícil.

Se os PDFs forem gerados eletronicamente, podemos copiar e colar informações em fontes de dados; caso contrário, talvez tenhamos que usar OCR e técnicas de aprendizado de máquina para extrair informações.

Além disso, os dados nos PDFs não são organizados ou diretamente legíveis por máquina. Portanto, talvez tenhamos que procurar informações manualmente.

Mas quando se trata de JSON, tudo é organizado em pares de valores-chave. Aqui está um exemplo.

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

Se você puder ver o formato JSON acima, os dados estarão mais organizados e você também poderá compartilhar essas informações na web de forma mais conveniente. É por isso que exportar dados de PDFs para JSON é crucial para muitas empresas.

Benefícios de negócios que vêm com JSON

O formato de dados JSON tem muitas vantagens sobre os PDFs para empresas:

  1. JSON é mais rápido: a sintaxe JSON é fácil de usar; sempre que você tenta analisar qualquer dado JSON, a execução é muito mais rápida quando comparada a PDFs e outros formatos de dados. Isso ocorre porque a sintaxe é leve e executa a resposta rapidamente.
  2. Mais legível: Os dados JSON são mais legíveis; teremos um mapeamento de dados direto com chaves e valores. Portanto, se você estiver procurando por algo ou organizando os dados de PDFs, JSON será mais conveniente. Além disso, o JSON oferece suporte ao aninhamento de dados e, com isso, os dados das tabelas podem ser armazenados com mais eficiência.
  3. Esquema conveniente: JSON é universal para a maioria dos sistemas operacionais e linguagens de programação; Portanto, se você estiver construindo qualquer software ou aplicativo da web para automatizar seus negócios, JSON deve ser o formato de dados correto. Além disso, a maioria dos navegadores da web oferece suporte ao formato JSON; portanto, não precisamos nos esforçar para usar software de terceiros para ler os dados JSON.
  4. Partilha fácil: JSON é a melhor ferramenta para compartilhar dados de qualquer tamanho, até mesmo grandes tabelas ou texto, etc. Isso ocorre porque o JSON armazena dados nos arrays, portanto, a transferência de dados os torna mais acessíveis. Por esse motivo, JSON é um formato de arquivo superior para APIs da web e desenvolvimento da web.

Na próxima seção, veremos alguns dos desafios que podemos enfrentar ao converter PDFs para o formato JSON.


Nanonets tem muitos interessantes casos de uso que pode otimizar o desempenho do seu negócio, economizar custos e impulsionar o crescimento. Descobrir como os casos de uso das Nanonets podem ser aplicados ao seu produto.


Desafios com a conversão de PDF em JSON

Vejamos alguns dos desafios na exportação de PDFs para JSON.

  1. Detectando fontes: As pessoas usam diferentes fontes, cores e alinhamentos nos documentos PDF. Portanto, é realmente difícil para os analisadores lerem isso. Além disso, ao exportar isso, teremos que definir regras específicas para que, após o analisador extrair os dados, todas as informações sejam mapeadas corretamente no formato JSON. Nesses casos, as expressões regulares são amplamente utilizadas para selecionar um texto específico e, em seguida, exportá-lo para a chave correta no formato JSON.
  2. Detectando texto de documentos digitalizados: Conforme discutido, quando os PDFs não são gerados eletronicamente, teremos que usar um OCR e escolher um OCR é crucial. Embora muitos usuários tentem ferramentas de código aberto como o tesseract, eles têm seu próprio conjunto de limitações. Por exemplo, se o texto for capturado incorretamente ou desalinhado durante a captura, o tesseract pode não funcionar e escolher outras ferramentas pode ser caro.
  1. Identificando Tabelas: A maioria dos documentos comerciais contém informações tabulares e determinar essas tabelas a partir de documentos PDF e convertê-los em JSON é uma tarefa desafiadora. Existem algumas bibliotecas baseadas em Python e Java que podem ajudar a extrair tabelas de documentos PDF feitos eletronicamente.
  2. Identificação de tabelas de PDFs digitalizados: Quando os PDFs são digitalizados, a maioria dos pacotes não funciona. Nesse caso, se escolhermos um OCR de código aberto como o tesseract, ele poderá extrair texto, mas poderá perder toda a formatação da tabela. Portanto, é um desafio escolher itens de estrutura de tópicos em um formato incorreto. É aqui que teremos que usar algoritmos baseados em aprendizado de máquina e aprendizado profundo. Alguns algoritmos populares são baseados em CNNs, e muitas pesquisas estão sendo feitas para melhorar esses algoritmos.

Abaixo estão alguns dos trabalhos de pesquisa que resolvem o problema de extração de tabelas de documentos:

Na próxima seção, vamos ver como analisar dados de PDF para gerar arquivos JSON.

Análise de dados de PDFs e geração de arquivos JSON usando Python e Linux

Analisar PDFs não é uma tarefa complicada se você tiver experiência como desenvolvedor.

Primeiramente, teremos que verificar se nossos arquivos PDF contêm dados de texto ou consistem em imagens digitalizadas. Teríamos que verificar se podemos extrair dados de texto ou canalizar os arquivos através de uma biblioteca de OCR se nenhum texto for retornado.

Isso pode ser conseguido usando uma biblioteca Python ou contando com alguns utilitários de linha de comando do Linux.

PDFtotexto é uma das bibliotecas mais populares para analisar PDFs eletrônicos. Poderíamos usar isso para converter todos os dados PDF em formato de texto e depois enviá-los para o formato JSON.

Aqui estão algumas instruções sobre como podemos usar pdftotext e analisar PDF em uma máquina Linux.

Primeiro, instale as ferramentas de linha de comando:

sudo apt-get install poppler-utils

Em seguida, use o pdftotext e adicione o caminho de origem do arquivo PDF e a localização do arquivo de texto de destino.

pdftotext {PDF-file} {text-file}

Com isso, devemos ser capazes de extrair todo o texto legível dos arquivos PDF.

Para gerar um arquivo JSON, teremos que trabalhar novamente em um script baseado em nossos dados que possa analisar o texto e exportá-los em pares de valores-chave relevantes.

Aqui está um exemplo de script que escrevemos em Python que converte um simples .txt arquivo no formato 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()

Considere os dados dentro do arquivo de texto como:

invoice_id #234
invoice_name Invoice from AWS
invoice_total $345

Aqui, primeiro importamos a biblioteca JSON embutida. Agora criamos um tipo de dados de dicionário para armazenar todos os pares de valores-chave dos arquivos de texto. Em seguida, iteramos por cada linha do arquivo e os separamos em command, description e mantemos no dicionário criado. Por último, criamos um novo arquivo JSON e usamos o json.dump método para despejar o dicionário no arquivo JSON com uma configuração específica que inclui classificação e recuo.

No entanto, nossos dados de PDFs não serão tão organizados como os fornecidos no exemplo; portanto, podemos ter que usar pipelines e scripts personalizados para passar por uma formatação de texto complicada. Nesses casos, ferramentas como Nanoredes será uma ótima escolha e também veremos como Nanonets resolve esse problema de uma maneira muito mais fácil nas seções a seguir.

Antes disso, vamos dar uma olhada em mais uma biblioteca que converte PDF em JSON usando node.js:

pdf2json é um node.js módulo que analisa e converte PDF do formato binário para JSON; é construído com pdf.js e o estende com elementos de formulário interativos e análise de conteúdo de texto fora do navegador.

Aqui está um exemplo de uso deste módulo para analisar seus arquivos JSON:

Primeiro, certifique-se de ter npm instalador e instale o módulo usando o seguinte comando:

npm install pdf2json

Em seguida, em seu servidor de nó, você pode usar o seguinte trecho que carrega o pdf2json e exporta PDFs para 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");

O trecho de código acima usa um exemplo de arquivo JSON do módulo e o exporta para um arquivo JSON, podemos verificar isso no ./test/target/ pasta em seu projeto. B

Abaixo, você encontrará uma captura de tela de como o módulo exporta os arquivos JSON:

Como converter dados PDF em JSON PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.
Exportação JSON

Para analisar PDFs em tabelas, essas bibliotecas podem simplesmente não funcionar!


Você terá que aproveitar algoritmos de OCR e aprendizado de máquina para extrair dados tabulares em JSON. Nanonets faz exatamente isso, como você pode ver abaixo:

Como converter dados PDF em JSON PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.
Nanonets convertendo dados de PDF para JSON 


Conversão de dados personalizados de PDF para JSON

Às vezes, ao extrair os dados de documentos de negócios, podemos exigir personalização. Por exemplo, digamos que se desejamos apenas determinadas páginas ou tabelas, não podemos fazer isso diretamente. Nesse caso, pode ser necessário fornecer regras adicionais aos analisadores, o que, novamente, é demorado. Mas vamos ver como podemos fazer a customização e as ações que a maioria das pessoas precisa.

Abaixo estão algumas das ações que são necessárias para a personalização na conversão de PDF para JSON:

  • Extraia apenas determinados textos ou páginas de PDFs
  • Extraia todas as tabelas de documentos PDF
  • Extraia colunas específicas de certas tabelas em PDFs
  • Filtre o texto de PDFs antes de exportá-los para JSON
  • Criação de JSON aninhado com base nos dados extraídos de PDFs
  • Formatar estrutura JSON com base em dados
  • Crie, exclua e atualize valores de certos campos em JSON após a extração

Essas são algumas das ações que geralmente são necessárias para armazenar nossos dados de maneiras diferentes ou, digamos, se estamos criando APIs para um aplicativo. Vamos ver como podemos conseguir isso.

Extraindo Texto Particular: Em PDFs, podemos extrair o texto específico usando expressões regulares; por exemplo, digamos que se queremos todos os e-mails e números de telefone usando regex, podemos selecioná-los. Se os PDFs estiverem em formato digitalizado, precisamos treiná-los em um algoritmo de aprendizado profundo que possa entender os layouts dos PDFs e extrair campos com base nas coordenadas e anotações feitas nos dados de treinamento. Um dos repositórios de código aberto mais populares para compreender layouts de documentos e extrair texto é o LayoutML, que treina em modelos BERT para extração de texto personalizado. No entanto, devemos ter dados suficientes para alcançar maior precisão na extração de texto.

Personalização de tabelas: Conforme discutido, as tabelas podem ser extraídas usando bibliotecas como Camelot e Tabula-py ou usando OCR e algoritmos baseados em aprendizagem profunda. Mas para personalização, teremos que usar bibliotecas como o pandas; isso nos permitirá criar, atualizar e serializar os dados das tabelas. Ele usa um tipo de dados customizado chamado de quadro de dados, que é amplamente usado para manipular e customizar os dados da tabela. Outras vantagens de usar o pandas incluem escrever funções personalizadas que podem realizar certas operações matemáticas durante o processo de extração.

Formatando Dados JSON: Depois de exportar PDFs para JSON, formatá-los é uma tarefa simples, pois temos um tipo de dados mais personalizável que são os pares de valor-chave. Podemos desenvolver scripts simples ou usar ferramentas online para pesquisar esses pares de valores-chave e formatá-los. Alguns dos parâmetros mais comuns para formatação incluem recuo, separadores, chaves de classificação, verificações circulares, verificações de dados. Se o JSON estiver sendo usado como uma API, podemos usar Postman ou qualquer extensão de navegador para formatar os dados e interagir com as APIs.


Quer extrair informações de documentos PDF e convertê-los para o formato JSON? Confira Nanonets para automatizar a exportação de qualquer informação de qualquer documento PDF para JSON.


Carimbo de hora:

Mais de IA e aprendizado de máquina