ParseJet

Como Extrair Tabelas de um PDF

Copie uma tabela de um PDF e cole no Excel: o resultado costuma ser uma coluna comprida de valores embaralhados — ou nada. A culpa não é sua: PDFs não armazenam tabelas de verdade. Este guia compara os 4 métodos que funcionam, dos truques rápidos de copiar e colar até ferramentas que lidam com documentos escaneados, para você escolher o certo para o seu arquivo.

Por que é tão difícil extrair tabelas de PDF

Um PDF não tem o conceito de tabela. O que parece linhas e colunas é só um conjunto de fragmentos de texto posicionados em coordenadas x/y, às vezes com linhas desenhadas entre eles. A "tabela" existe apenas aos seus olhos — o arquivo não guarda células, nem linhas, nem cabeçalho.

Todo método de extração é, portanto, uma reconstrução: um algoritmo tentando adivinhar quais fragmentos de texto pertencem à mesma célula, quais células formam uma linha e onde as colunas começam. Tabelas com grade visível são mais fáceis de reconstruir; tabelas separadas só por espaços, células mescladas, células com várias linhas de texto e tabelas que atravessam páginas são onde a maioria das ferramentas falha.

PDFs escaneados adicionam outra camada: a página é uma fotografia, então não existe texto algum até o OCR rodar. Escolha o método com base em quais desses problemas o seu documento tem.

Método 1: Copiar e colar no Excel (rápido, tabelas pequenas com grade)

Para uma tabela simples e bem delimitada, selecione-a no seu leitor de PDF, copie e cole no Excel ou no Google Sheets. Se tudo cair em uma única coluna, use Dados → Texto para Colunas (Excel) ou Dados → Dividir texto em colunas (Sheets) para separar os valores de novo.

Uma variação útil: cole primeiro em um editor de texto simples para ver que estrutura sobreviveu. Se os valores estiverem separados por espaços ou tabulações consistentes, o Texto para Colunas recupera a tabela; se as linhas estiverem intercaladas ou truncadas, nenhuma divisão vai consertar.

Quando funciona: tabelas de uma página com grade e valores curtos nas células. Quando falha: células mescladas, texto em várias linhas dentro das células, números com separador de milhar sendo partidos ao meio e qualquer documento escaneado.

Método 2: Power Query do Excel ou Word (nativo, sem ferramentas extras)

O Excel moderno importa tabelas de PDF diretamente: Dados → Obter Dados → De Arquivo → De PDF. O Excel varre o documento, lista cada tabela detectada e mostra uma prévia — escolha a tabela, clique em Carregar e ela chega como um intervalo de planilha de verdade. É a melhor opção nativa no Windows (exige licença do Microsoft 365 ou 2021+ e não está disponível em todas as versões do Excel para Mac).

O Word também abre PDFs diretamente (Arquivo → Abrir → selecione o PDF). Ele converte o documento em um arquivo editável, e tabelas simples costumam sobreviver como tabelas reais do Word, que você pode copiar para o Excel.

Quando funciona: PDFs criados digitalmente com tabelas de grade bem definida. Quando falha: tabelas separadas só por espaços são frequentemente ignoradas ou divididas errado, tabelas de várias páginas chegam como fragmentos separados, e PDFs escaneados não produzem nada — o Power Query não faz OCR.

Método 3: Bibliotecas Python — camelot, tabula-py, pdfplumber (desenvolvedores)

Se você precisa extrair tabelas de muitos PDFs de forma programática, as opções open source consolidadas são camelot (melhor em tabelas com grade, dois modos de detecção), tabula-py (um wrapper do motor Java Tabula, sólido em layouts consistentes) e pdfplumber (controle de baixo nível sobre palavras, linhas e retângulos — melhor quando você precisa de lógica própria).

Um exemplo mínimo com camelot: pip install camelot-py[cv], depois tables = camelot.read_pdf("report.pdf", pages="all") e tables[0].df devolve um DataFrame do pandas. Exporte com .to_csv() ou .to_excel().

O porém: cada biblioteca tem um estilo de layout preferido, e documentos do mundo real misturam estilos. Espere ajustar configurações por família de documento (flavor="stream" vs "lattice" no camelot, dicas de área no tabula), e nenhuma delas lida com PDFs escaneados — seria preciso rodar OCR antes e perder o layout no processo.

Para uma visão mais ampla de parsing de PDF em Python além de tabelas, veja nosso guia de conversão de PDF para Markdown em Python.

Método 4: Extração com IA (PDFs escaneados, layouts mistos, escala)

A abordagem mais recente usa modelos de compreensão de documentos que leem a página como uma pessoa leria — detectando a estrutura da tabela pelo layout visual, em vez de depender de linhas de grade ou heurísticas de coordenadas. É a única classe de método que trata documentos escaneados, páginas fotografadas e layouts inconsistentes em uma única passada.

O ParseJet funciona assim: faça upload de um PDF em parsejet.com/tools/pdf-to-markdown e as tabelas voltam como tabelas Markdown limpas, na ordem de leitura — páginas escaneadas passam por OCR automaticamente. Se você quer dados em vez de texto, a API devolve o documento parseado como saída estruturada (veja a ferramenta de PDF para JSON), e um POST por arquivo torna tudo viável em pipelines de lote.

Quando funciona: documentos escaneados e fotografados, layouts mistos de grade e espaço em branco, e processamento em lote onde ajustar por documento é impossível. O trade-off: é um serviço hospedado — para uma tabela pontual em um PDF limpo, o Método 1 ou 2 é mais rápido.

Qual método você deve usar?

Uma tabela pequena com grade, uma única vez: copiar e colar (Método 1), com o Power Query do Excel (Método 2) como plano B se a colagem embaralhar.

Relatórios recorrentes com o mesmo layout: Power Query para quem vive de planilha, camelot ou tabula-py (Método 3) para desenvolvedores — a configuração única se paga em cada arquivo futuro.

Documentos escaneados, fotos ou layouts bagunçados: extração com IA (Método 4) é, na prática, a única opção que não envolve redigitar tudo.

Centenas de documentos com layouts variados: Método 4 via API — ajustar as bibliotecas do Método 3 por documento não escala além de um punhado de famílias de layout.

Extraia tabelas de qualquer PDF — inclusive escaneados

Faça upload de um PDF e receba cada tabela de volta como Markdown limpo, na ordem de leitura, com OCR automático nas páginas escaneadas. Grátis para testar, sem cadastro.

Testar PDF para Markdown

Perguntas frequentes

Como extrair uma tabela de PDF para o Excel?

Tente primeiro o importador nativo do Excel: Dados → Obter Dados → De Arquivo → De PDF, e escolha a tabela detectada. Se o Excel não achar ou embaralhar a tabela — comum com tabelas separadas por espaço ou escaneadas —, extraia com uma ferramenta de IA como o ParseJet e cole a tabela Markdown no Excel.

Dá para extrair tabelas de um PDF escaneado?

Só com ferramentas que fazem OCR. Copiar e colar, Power Query e as bibliotecas Python de tabela exigem texto de verdade. Extratores com IA fazem OCR da página primeiro e depois reconstroem a tabela — envie o escaneado para o ParseJet e a tabela volta como texto.

Qual é a melhor biblioteca Python para extrair tabelas de PDF?

camelot para tabelas com grade, tabula-py para layouts consistentes de relatório, pdfplumber quando você precisa de lógica própria de baixo nível. As três exigem ajuste por layout e nenhuma trata páginas escaneadas, então pipelines com entrada bagunçada geralmente acabam chamando uma API de parsing.

Por que minha tabela colada vira uma coluna só?

Seu leitor de PDF serializou os fragmentos das linhas como texto simples separado por espaços, e o Excel colou cada linha em uma única célula. Use Texto para Colunas para separar de novo, ou use um método que reconstrua a estrutura da tabela (Power Query ou uma ferramenta de extração).

Como saem tabelas com células mescladas?

Mal, na maioria das ferramentas — células mescladas quebram a grade de linhas e colunas em que toda heurística se apoia. A extração que entende estrutura lida melhor com elas; ainda assim, confira manualmente as regiões mescladas em qualquer método.

Dá para extrair tabelas de muitos PDFs automaticamente?

Sim — faça um POST de cada arquivo para uma API de parsing. Com o ParseJet, /v1/parse/auto/file devolve o documento com as tabelas em Markdown (ou JSON estruturado), e uma conta de API gratuita inclui 300 créditos por mês.

Comece a extrair texto gratuitamente

Sem necessidade de cadastro. Analise seu primeiro arquivo em segundos.

Ver Preços