Um agente de IA não deve ler uma tabela. Ele deve chamar uma ferramenta que devolve a tabela e então fazer aritmética nas linhas. Com o GroupDocs.Parser.Mcp rodando localmente em Docker, um cliente de IA como Claude Desktop ou Cursor pode extrair tabelas de arquivos PDF, Word e Excel e recebê‑las como JSON:

Extraia os itens de linha de invoice.pdf como JSON e calcule o total da coluna de valor.

A versão passo a passo com configuração e solução de problemas está na documentação: How to extract tables from documents into structured data.

O que dá errado quando um modelo lê a própria tabela?

O fluxo de trabalho comum é colar um PDF em um chat e solicitar a tabela. O modelo vê um fluxo de texto achatado, infere onde estavam as colunas e escreve as linhas de volta. Cada célula torna‑se então uma previsão. Uma coluna ausente, uma linha mesclada ou um decimal deslocado não gera um erro; gera uma tabela confiante e bem formatada, porém ligeiramente errada. Para uma lista de frutas isso não importa. Para totais de faturas isso importa muito.

A falha é difícil de detectar porque a saída parece correta. Nada na resposta do chat indica quais células foram lidas do arquivo e quais foram reconstruídas.

Qual é a alternativa a deixar o modelo adivinhar?

Remova a leitura do modelo. A ferramenta extract_tables detecta tabelas com o mecanismo de documentos e as devolve como dados:

  • Markdown por padrão, como seções ### Table N (page N, R×C) que são renderizadas diretamente no chat, VS Code e GitHub.
  • JSON com format: "json", como um array de objetos { table, page, rows, columns, data }, onde data é uma grade de strings.

O modelo nunca transcreve uma célula. Ele recebe data e trabalha com ela, de modo que sua tarefa se reduz ao que ele faz de forma confiável: somar, comparar, filtrar e explicar. A ferramenta suporta PDF, DOCX, XLSX, PPTX e HTML, portanto o mesmo prompt cobre uma fatura de fornecedor, um relatório Word e uma planilha.

Como obter a tabela como JSON?

Declare o formato no prompt.

Extraia os itens de linha como JSON e calcule o total da coluna de valor.

Sessão de exemplo (abreviada)
Você:    Extraia os itens de linha de invoice-014.pdf como JSON e calcule o total da coluna de valor.
Agente:  [calls extract_tables with format "json"]
        {"table": 1, "page": 1, "rows": 4, "columns": 3,
         "data": [["Item", "Qty", "Amount"],
                  ["Paper A4", "10", "48.00"],
                  ["Toner", "2", "170.00"],
                  ["Delivery", "1", "22.00"]]}
        Total da coluna Amount: 240.00 em 3 itens de linha.

Como o agente possui as linhas, os próximos passos são perguntas comuns: qual linha é a maior, o total corresponde ao valor impresso no texto, escrever as linhas em um CSV na pasta de saída. Quando a aritmética é importante, peça ao agente que liste as linhas que somou para que você possa verificá‑las.

Quando você deve solicitar Markdown em vez de JSON?

Use Markdown quando uma pessoa lerá o resultado a seguir, e JSON quando o código o fizer. Markdown é o padrão e a maneira mais rápida de visualizar uma tabela e avaliar se ela foi encontrada corretamente. Mude para JSON para totais, verificações cruzadas e tudo que alimenta uma planilha ou um banco de dados. Se você souber onde a tabela está, restrinja a chamada:

Extraia a tabela na página 4.

O parâmetro page restringe a detecção a uma página, o que é mais rápido e, sob licenciamento medido, mais barato.

Em quais casos ainda é necessário um olhar humano?

Limites honestos são mais importantes com tabelas do que com texto simples.

  • Digitalizações não têm tabelas para encontrar. Sem uma camada de texto não há estrutura de tabela, e a extração retorna vazia. Não há OCR neste servidor.
  • Layouts complexos variam. Células mescladas, tabelas aninhadas e tabelas que continuam em várias páginas nem sempre são preservadas tão limpas quanto uma grade simples. Verifique um documento antes de processar duzentos.
  • O modo de avaliação é limitado. Sem licença, a extração é limitada; os limites exatos estão na [página de licenciamento] da biblioteca. Peça ao agente para chamar get_license_status antes de uma execução real.

Instale em um único comando

O servidor é distribuído apenas como uma imagem Docker, portanto não há comando dnx. Registre‑o no Claude Code assim, substituindo o caminho pela sua pasta de documentos:

claude mcp add groupdocs-parser -- docker run --rm -i \
  -v /path/to/documents:/data ghcr.io/groupdocs-parser/parser-net-mcp:latest

Cursor, Claude Desktop, VS Code com GitHub Copilot, Windsurf, Cline e Codex usam o mesmo contêiner com um arquivo de configuração específico para o cliente; cada um está listado em Registrar em clientes de IA.

Perguntas Frequentes

O Claude lê tabelas PDF com precisão?
Isso depende do arquivo e de como o cliente o achata, portanto verifique em vez de assumir. Com extract_tables as linhas vêm da detecção de tabelas do mecanismo de documentos, retornadas como uma grade de strings, e o Claude trabalha a partir delas.

Como extrair uma tabela de um PDF para Excel com IA?
Solicite a tabela como JSON, depois peça ao agente para escrever as linhas em um CSV na pasta de saída, que o Excel abre. A conversão de linhas para CSV é a etapa do agente; os valores das células vêm da ferramenta.

Ele pode extrair tabelas de arquivos Word e Excel localmente?
Sim. extract_tables lida com DOCX e XLSX assim como PDF, e o contêiner lê arquivos da pasta que você monta.

Aprofunde-se