ForHosting KIT · PDF e documentos

Extrair tabelas de PDF

Uma página cujos valores se alinham por tabulações, como Cable, 25 e 1,20, vira uma tabela com três colunas nomeadas e três linhas de dados. Um parágrafo sem colunas alinhadas é recusado em vez de virar uma tabela falsa. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

É a etapa determinística entre extrair o texto de um PDF e realmente usar os números que ele contém, sem OCR e sem suposições de IA.

Do texto bruto do PDF a uma tabela estruturada

Quando um extrator de texto processa uma página de PDF, as tabelas voltam como linhas de texto simples. Uma pessoa ainda enxerga as colunas porque os valores se alinham — separados por tabulações ou por lacunas de dois ou mais espaços —, mas um programa não. Esta capacidade fecha essa lacuna.

Você envia as linhas brutas da página e o sistema encontra as colunas alinhadas: cada linha é dividida pelo separador detectado, o número de colunas que se repete entre as linhas é tomado como o formato da tabela e cada linha é cortada em células. A primeira linha vira o cabeçalho por padrão, então a saída é um array columns com nomes e um array rows com os dados, prontos para virar objetos ou carregar em um dataframe.

Tudo é determinístico — o mesmo texto sempre gera a mesma tabela —, o que a torna segura para um pipeline automatizado onde um OCR ou modelo de visão introduziria variação silenciosa.

Como a análise realmente funciona

Primeiro, as linhas em branco são descartadas e cada linha restante é dividida em células. No modo auto, o analisador usa tabulações quando alguma linha contém uma e, caso contrário, recorre a sequências de dois ou mais espaços — você também pode forçar qualquer uma das estratégias com o parâmetro delimiter. Somente linhas que produzem pelo menos duas células são candidatas à tabela.

Entre elas, o analisador procura o número de colunas que se repete: a moda da distribuição. Uma tabela de verdade é um conjunto de linhas que concordam sobre quantas colunas têm, então linhas com uma contagem diferente — um parágrafo quebrado, um rodapé solto — são postas de lado. Se nenhuma contagem se repete ao menos duas vezes, ou há menos de duas linhas candidatas, a entrada é rejeitada: não há tabela a encontrar.

Desative para dados sem cabeçalho e os nomes sintéticos se aplicam a todas as linhas.

Onde ela se encaixa e o que não é

Deixe claro o que ela não é. Ela não lê o arquivo PDF em si — trabalha sobre texto que você já extraiu. Não processa páginas digitalizadas, pois elas não têm camada de texto; para imagens de tabelas, você quer uma capacidade baseada em OCR.

E espera colunas alinhadas, não prosa: texto corrido é rejeitado em vez de ser deformado em uma tabela falsa.

Automatizar um pipeline de ingestão de relatórios

Execute o analisador após o seu extrator de texto em cada página e carregue apenas as que contêm tabelas — as demais são rejeitadas de forma limpa e não são cobradas.

Ela lê o arquivo PDF diretamente?

Não. Ela analisa a camada de texto bruto de uma página que você fornece. Extraia primeiro o texto com um extrator de texto de PDF e depois envie as linhas aqui.

Quais separadores de coluna são aceitos?

Tabulações ou sequências de dois ou mais espaços. O modo automático detecta qual a página usa; você também pode forçar tabulação ou espaços com o parâmetro delimiter.

O que acontece quando o texto não tem tabela?

Chamadas inválidas são rejeitadas antes da cobrança, então não custam nada.

Funciona com PDFs digitalizados?

Não. Uma digitalização é uma imagem e não tem camada de texto para analisar. Use um extrator de tabelas com OCR para documentos digitalizados; esta capacidade é para PDFs digitais com texto selecionável.

Meu documento fica armazenado?

Não. O texto é processado em memória e descartado; apenas a tabela analisada é devolvida.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/pdf/extract-tables

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/pdf/extract-tables \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Item\tQty\tUnit price\nWidget\t12\t9.99\nGadget\t3\t24.50"}'
{
  "text": "Item\tQty\tUnit price\nWidget\t12\t9.99\nGadget\t3\t24.50"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.extract_tables",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_mb1
max_lines5000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

A API de extração de tabelas de texto de PDF pega a camada de texto bruto de uma página de PDF — as linhas que um extrator de texto devolve, com colunas alinhadas por tabulações ou sequências de espaços — e a converte em uma tabela estruturada e limpa: nomes de colunas, linhas de dados e contagens, em JSON pronto para uma planilha, uma importação de banco de dados ou um script.

Do texto bruto do PDF a uma tabela estruturada

Se a página não contém colunas alinhadas, a chamada falha com um erro invalid_input claro em vez de inventar uma tabela, e chamadas com falha não são cobradas.

Como a análise realmente funciona

Com has_header ativado, a primeira linha da tabela nomeia as colunas; células de cabeçalho vazias ou duplicadas são substituídas por col_1, col_2 e assim por diante, de modo que todo nome de coluna de saída seja utilizável.

Onde ela se encaixa e o que não é

Use como segunda etapa de um pipeline de dados de PDF: extraia a camada de texto com um extrator, chame este endpoint em cada página que contenha uma tabela e carregue as linhas resultantes onde for preciso. Como a análise é processamento de texto puro, ela roda na borda em milissegundos, custa US$ 0,002 por chamada, e o mesmo código roda grátis no seu navegador nesta página, então você pode testar o texto de uma página colando-o antes de automatizar qualquer coisa. Também é útil para trabalhos pontuais: cole o texto da página de um relatório, obtenha JSON e converta para CSV em mais um passo.

Recuperar uma lista de preços de uma página de PDF

Extraia o texto da página, envie-o e receba as colunas de item, quantidade e preço como linhas JSON prontas para importar em uma planilha.

Converter um despejo de dados sem cabeçalho

Desligue a detecção de cabeçalho com has_header=false e obtenha nomes estáveis col_1..col_n para cada linha de uma listagem alinhada por espaços.

Quanto custa?

US$ 0,002 por chamada. O mesmo analisador também roda grátis no seu navegador nesta página, então você só paga quando automatiza pela API.

Ver a documentação completa do KIT →