Markdown vs PDF: a decisão que mudou meu sistema
O formato que você envia para a IA determina custo, precisão e velocidade. PDF parece o caminho óbvio. Quase sempre é o pior.
Em um projeto de análise de contratos, o sistema enviava PDFs diretamente para o LLM.
Funcionava. A IA lia, extraía cláusulas, identificava riscos.
O problema apareceu no fim do mês: a fatura da API era quatro vezes maior do que o esperado.
A causa era simples. PDF é um formato péssimo para IA.
O que a IA realmente recebe quando você envia um PDF
Um LLM não lê arquivos. Ele lê texto.
Quando você envia um PDF, alguma etapa do processo precisa extrair o texto desse arquivo. Essa extração carrega junto muito conteúdo que não é informação:
- Metadados de formatação
- Cabeçalhos e rodapés repetidos em cada página
- Numeração de página, marcas d'água, informações de autor
- Espaçamentos e quebras de linha desnecessárias
- Tabelas convertidas de forma errada
- Caracteres especiais de encoding
Tudo isso vira tokens. Tokens custam dinheiro.
Em um teste com um contrato de 40 páginas:
| Formato | Tokens | Custo por consulta | |---------|--------|--------------------| | PDF extraído direto | 18.400 | R$ 0,18 | | Texto limpo (.txt) | 7.200 | R$ 0,07 | | Markdown estruturado | 4.200 | R$ 0,04 |
Mesma informação. Custo 76% menor no Markdown.
Com 1.000 consultas por mês, a diferença é R$ 140 vs R$ 40.
Por que PDF é problemático
1. Extração imprecisa
A maioria das bibliotecas de extração de PDF (PyPDF2, pdfplumber, Textract) não foi feita para IA. Elas foram feitas para extrair texto de forma razoável para humanos lerem.
Para IA, "razoável" não é suficiente. Uma tabela extraída de forma errada, uma coluna que vira linha, um número que vira texto quebrado — cada erro desses contamina o contexto e aumenta a chance de resposta incorreta.
2. Estrutura perdida
PDF preserva aparência visual, não estrutura semântica.
Um título em PDF é só texto maior. Uma tabela em PDF é um conjunto de caixas posicionadas. Um item de lista é um traço ou ponto separado do texto.
Quando a IA recebe esse conteúdo, ela precisa inferir a estrutura a partir do visual. Isso funciona mal. E gasta tokens extras.
3. Conteúdo irrelevante
Todo PDF tem conteúdo que não é informação útil para o processamento.
Rodapé com nome do escritório, cabeçalho com logo, número da página, aviso de confidencialidade — aparecem em toda página. Em um documento de 40 páginas, isso se repete 40 vezes.
A IA processa cada ocorrência como contexto potencialmente relevante.
Por que Markdown é melhor
Markdown é texto simples com convenções semânticas.
Um # indica título. Um **texto** indica destaque. Um - indica item de lista. Uma tabela tem separação clara de colunas.
A IA entende essas convenções nativamente. Ela foi treinada com enormes volumes de texto em Markdown. A estrutura é preservada sem overhead visual.
Resultado prático:
- Menos tokens: sem metadados, sem repetições, sem ruído
- Estrutura preservada: cabeçalhos, listas e tabelas chegam certos
- Parsing mais rápido: o modelo não precisa inferir o que é título e o que é parágrafo
- Menos alucinação: contexto mais limpo → resposta mais precisa
Quando PDF ainda faz sentido
Nem todo caso justifica a conversão para Markdown.
Use PDF quando:
- O documento precisa ser preservado como evidência (assinatura digital, hash)
- O usuário final precisa do arquivo original (download, impressão)
- A estrutura visual é a própria informação (planta baixa, diagrama técnico)
- A conversão introduziria mais erro do que o PDF original
Evite PDF quando:
- O objetivo é extrair texto para processar
- O conteúdo vai ser analisado, resumido ou transformado por IA
- O sistema vai processar muitos documentos com frequência
O fluxo correto de pré-processamento
Antes de enviar qualquer documento para IA, existe uma hierarquia de formatos por eficiência:
PDF → Texto Limpo → Markdown → JSON → Regra → IA
Cada etapa reduz tokens e aumenta precisão.
PDF → Texto limpo: remove metadados, normaliza encoding, elimina cabeçalhos e rodapés repetidos.
Texto limpo → Markdown: identifica estrutura (títulos, listas, tabelas) e adiciona marcação semântica.
Markdown → JSON: para documentos com estrutura previsível (contratos com cláusulas padrão, notas fiscais, formulários), extrair para JSON antes de enviar à IA reduz tokens drasticamente.
JSON → Regra: se a extração do JSON já resolve o problema, IA não é necessária.
A maioria dos projetos pula essas etapas e vai direto do PDF para a IA.
O custo mensal mostra onde foi esse atalho.
Como converter PDF para Markdown na prática
Para documentos de texto (contratos, relatórios, artigos):
# Python — usando pymupdf4llm
import pymupdf4llm
md = pymupdf4llm.to_markdown("documento.pdf")
# Retorna Markdown limpo, preservando estrutura
Para documentos com tabelas complexas ou formulários, considere ferramentas com OCR integrado como Marker ou Docling.
Para pipelines em produção: pré-processe e armazene o Markdown junto com o PDF original. Não converta em tempo real a cada consulta.
A decisão em uma linha
Quando o objetivo é processar conteúdo com IA: converta para Markdown antes de enviar.
Não é uma otimização avançada. É a decisão de arquitetura mais básica em sistemas que trabalham com documentos.
A diferença de custo em escala justifica o esforço de conversão muitas vezes.
Esse artigo faz parte da trilha Arquitetura de IA para Builders. O próximo — Economia de tokens é uma funcionalidade — mostra como tratar custo de tokens como parte do design do sistema.
// teste seu entendimento
Por que PDF é um formato ruim para enviar à IA?