Skip to main content

Converta documentos para Markdown estruturado — libere seu conhecimento de PDFs

Project description

CONVERTER

Converter documentos não é sobre tecnologia. É sobre liberdade de conhecimento.


🎯 O Problema: Documentos são Prisões de Conhecimento

O Que Você Nunca Notou Sobre PDFs

📄 PDF (Portable Document Format)
│
├── VISUALMENTE: Lindo, formatado, "profissional"
├── PARA HUMANOS: Legível (se você tiver tempo)
└── PARA MÁQUINAS: Um caos estrutural
    ├── Texto? Às vezes (se não for imagem)
    ├── Tabelas? Caixas aleatórias
    ├── Hierarquia? Inexistente
    └── Semântica? Zero.

O PDF foi criado para IMPRIMIR, não para PROCESSAR.

Quando você envia um PDF para uma IA (ChatGPT, Claude, Gemini), ela não "lê" — ela adivinha.

O PDF Esconde:

O Que Você Vê O Que a IA Vê
Capítulo 1: Introdução BT /F1 12 Tf 100 700 Td (Capítulo) Tj
Tabela de preços 4 rects, 12 text boxes, no relation
Nota de rodapé Texto aleatório no fim da página
Formatação em negrito Same font, maybe different weight?

Resultado: A IA perde contexto, estrutura e significado.

HTML: A Web Quebrada

<!-- O que um humano vê: "Preço: R$ 100" -->
<div class="sc-12e8fsh-3 eRjMye price-widget">
  <span class="currency" data-cy="currency-symbol">R$</span>
  <span class="amount" style="font-weight:600!important">100</span>
</div>

O HTML é para BROWSERS, não para COMPREENSÃO.

  • CSS esconde significado
  • JavaScript gera conteúdo dinâmico
  • Classes semânticas? Raras.
  • Extrair dados = Engenharia reversa

DOCX: A Ilusão de Estrutura

DOCX (Word)
├── Parece estruturado...
├── Mas é XML zipado
├── Estilos? Arbitrários.
├── Tabelas? Para layout, não dados.
└── Versões? Incompatíveis.

O DOCX foi feito para edição humana, não para processamento automatizado.


💡 A Solução: Por Que Converter Para Markdown

Markdown é Texto Puro Com Significado

# Capítulo 1: Introdução

Este é um **parágrafo** com *ênfase*.

## Seção 1.1

| Produto | Preço |
|---------|-------|
| Item A  | R$ 100|
| Item B  | R$ 200|

> Esta é uma citação

O que a IA vê:

  • # = Título nível 1
  • ## = Hierarquia clara
  • ** = Importância semântica
  • | = Tabela estruturada
  • > = Citação

Não há adivinhação. Há compreensão.

Benefícios Para QUALQUER Modelo de Linguagem

1. Contexto Ampliado (Token Efficiency)

# PDF convertido "naive"
"PREÇO R$ 100 ITEM A R$ 200 ITEM B ..."  # 50 tokens, sem contexto

# Markdown estruturado  
"| Produto | Preço |\n|---------|-------|\n| Item A  | R$ 100|"  # 20 tokens, total contexto

Mesma informação, 60% menos tokens.

Em modelos como GPT-4, Claude, Gemini:

  • Menos tokens = Menor custo
  • Menos tokens = Maior contexto disponível
  • Menos tokens = Respostas mais precisas

2. Estrutura Semântica Preservada

Elemento No PDF No Markdown Benefício para IA
Título Caixa de texto # Título Entende hierarquia
Lista Bullets gráficos - Item Entende sequência
Tabela Células posicionadas ` A
Ênfase Fonte bold **texto** Entende importância
Citação Aspas + indentação > quote Entende origem

3. RAG (Retrieval Augmented Generation) Efetivo

Problema: Sistemas RAG dividem documentos em chunks.

PDF chunkado:
"...preço do item é R$ 100 e o próximo capítulo..."
   ↑ Contexto perdido: QUAL item? QUAL capítulo?

Markdown chunkado:
"## Capítulo 3: Preços\n\n| Item | Preço |\n|------|-------|\n| A    | R$ 100|"
   ↑ Contexto preservado: Hierarquia clara

Resultado: Busca semântica encontra o que você precisa.

4. Chain-of-Thought Natural

Modelos de raciocínio (o1, Claude 3.5 Sonnet, Gemini 2.5) beneficiam-se de estrutura:

# Análise de Reequilíbrio

## 1. Fatos
- Contrato assinado em 2020
- IPCA acumulado: 25%

## 2. Fundamentação Legal
- Art. 12 da Lei 8.987
- Resolução ANTT 5.820

## 3. Cálculos
```python
indice = 1.25  # IPCA
wacc = 0.08    # Contrato

4. Conclusão

...


**A IA segue o raciocínio estruturado.**

---

## 🔍 Comparativo: Alternativas Existentes

### Opção 1: Bibliotecas Raw (PyPDF2, pdfplumber, etc.)

```python
# Exemplo: Extrair texto de PDF com pdfplumber
import pdfplumber

with pdfplumber.open("documento.pdf") as pdf:
    for page in pdf.pages:
        text = page.extract_text()
        # O que você recebe:
        # "Texto quebrado\nsem\nestrutura nem contexto"

Complexidade: ⭐⭐⭐⭐☆ (Alta)

  • Precisa entender PDF internamente
  • Cada PDF é um caso diferente
  • OCR para scanned documents = outra biblioteca
  • Tabelas? Boa sorte.

Expertise Necessária:

  • Python intermediário/avançado
  • Entendimento de formatos PDF/DOCX
  • Regex para parsing
  • Debugging de extratos quebrados

Custos Ocultos:

  • Tempo de desenvolvimento: 40-80 horas para pipeline robusto
  • Manutenção: PDFs corrompidos, novos formatos, edge cases
  • Infraestrutura: GPU para OCR, workers para batch
  • Frustração: Alta. "Funciona no meu PDF, não no dele."

Opção 2: Skills de Agentes IA (Claude Code, Cursor, etc.)

Skill: "Ler PDF"

Você diz: "Analise este PDF"
A IA tenta:
1. Extrair texto (melhor esforço)
2. Interpretar estrutura (adivinhação)
3. Responder baseada em fragmentos

Resultado: "Parece que o documento fala sobre..."

Complexidade: ⭐⭐☆☆☆ (Baixa para o usuário) Mas: ⭐⭐⭐⭐⭐ (Muito alta para quem desenvolve a skill)

Expertise Necessária:

  • Engenharia de prompts avançada
  • Tratamento de edge cases
  • Integração com múltiplos formatos
  • Gestão de tokens e contexto

Custos Ocultos:

  • Custo de tokens: Modelos processando PDFs longos = $$$$
  • Latência: 30s-2min por documento
  • Precisão: 70-85% (varia com formato)
  • Dependência: Vendor lock-in na skill/agente

Opção 3: APIs Comerciais (AWS Textract, Google Document AI, Azure Form Recognizer)

# AWS Textract
import boto3

textract = boto3.client('textract')
response = textract.analyze_document(
    Document={'S3Object': {'Bucket': 'docs', 'Name': 'file.pdf'}},
    FeatureTypes=['TABLES', 'FORMS']
)
# Custo: $1.50 por 1.000 páginas (tables/forms)

Complexidade: ⭐⭐⭐☆☆ (Média)

  • Setup AWS/GCP/Azure
  • IAM, roles, permissões
  • Handling de async operations
  • Parsers de resposta JSON complexa

Expertise Necessária:

  • Cloud engineering
  • IAM e segurança
  • Cost management (alertas de billing)
  • Integração APIs

Custos Diretos ($$$):

Serviço Custo por 1.000 págs 10K docs/mês Anual
AWS Textract (Tables+Forms) $1.50 $15.000 $180.000
Google Document AI $1.50 $15.000 $180.000
Azure Form Recognizer $1.50 $15.000 $180.000

Custos Ocultos:

  • Data transfer (egress)
  • Storage (S3, GCS)
  • Lambda/functions para orchestration
  • DevOps para manter pipeline

Opção 4: CONVERTER (Esta Solução)

# Instalação
pip install converter

# Uso
converter documento.pdf --output markdown/

Complexidade: ⭐☆☆☆☆ (Mínima)

  • Instalação: 1 comando
  • Uso: 1 comando
  • Configuração: Opcional

Expertise Necessária:

  • Linha de comando básica
  • Zero programação (modo CLI)
  • Opcional: Python básico (para scripting)

Custos:

  • Software: Grátis (MIT License)
  • Infraestrutura: Seu próprio hardware
  • Tempo: 5 minutos setup
  • Manutenção: Comunidade + updates automáticos

O Que Você Ganha:

Feature Bibliotecas Raw Skills IA APIs Cloud CONVERTER
Setup 8h 2h 4h 5min
OCR integrado ⚠️
Tabelas ⚠️
Batch processing DIY DIY DIY
Custo mensal $0 $$$ $$$$$ $0
Controle total
Offline
Open Source

🎓 Sabedoria: O Paradigma da Conversão

A Metáfora do Tradutor

"PDF é como um livro em chinês para quem só fala português.

Você pode:

  1. Aprender chinês (bibliotecas raw — anos de estudo)
  2. Contratar um tradutor humano por página (APIs cloud — caro)
  3. Usar Google Translate (skills IA — imperfeito)
  4. Ter o livro traduzido uma vez, reutilizar para sempre (CONVERTER — sábio)"

Por Que Isso Importa Para o Futuro

Large Language Models virão e irão.

  • GPT-4 → GPT-5 → GPT-6...
  • Claude 3 → Claude 4 → Claude 5...
  • Gemini, Llama, Mistral, novos players...

Mas a estrutura semântica é eterna.

Um documento em Markdown:

  • Funciona com GPT-4
  • Funcionará com GPT-5
  • Funcionará com qualquer modelo futuro
  • Funciona com RAG híbrido
  • Funciona com agentes autônomos

É um investimento no tempo.

O Custo da Não-Conversão

Cenário Sem Conversão Com CONVERTER
Analisar 100 processos 300 horas (manual) 10 horas (automatizado)
Custo com APIs R$ 50.000/mês R$ 0
Precisão da IA 70% (PDFs crus) 95% (Markdown estruturado)
Tempo de resposta 2-5 dias 15 minutos
Escalabilidade Limitada Ilimitada

🛠️ Como Funciona (O "Como" Depois do "Porquê")

Arquitetura de Conversão

Entrada (PDF/DOCX/HTML/ZIP)
    ↓
[DETECTOR DE FORMATO]
    ↓
[EXTRATOR ESPECÍFICO]
    ├── PDF: PyMuPDF4LLM + OCR cascade
    ├── DOCX: python-docx
    ├── HTML: BeautifulSoup
    └── ZIP: Recursivo + paralelo
    ↓
[ENRIQUECEDOR SEMÂNTICO]
    ├── Detecta tabelas
    ├── Identifica hierarquia
    ├── Preserva metadados
    └── Gera índice
    ↓
Saída (Markdown Estruturado)

OCR Cascade: A Garantia de Leitura

# Estratégia: Tentar do melhor para o mais compatível

1. PaddleOCR (GPU-accelerated, PT-BR excelente)
   └── Falhou? 
2. EasyOCR (CPU-friendly, multilíngue)
   └── Falhou? 
3. Tesseract (battle-tested, sempre funciona)
   └── Falhou? 
4. Fallback: "[Imagem não processável - verificar manualmente]"

Nenhum documento fica para trás.


📚 Para Quem É Esta Ferramenta

Perfil 1: Analista Jurídico/Regulatório

Problema: 500 páginas de processo administrativo para analisar em 5 dias.

Solução CONVERTER:

converter processo.zip --output analise/
# 15 minutos depois: Markdown estruturado pronto para IA

Resultado: Análise completa em 4 horas, não 40.

Perfil 2: Pesquisador Acadêmico

Problema: 200 papers em PDF para revisão sistemática.

Solução CONVERTER:

converter papers/ --output corpus/ --format jsonl
# Indexa direto em vector store para RAG

Perfil 3: Desenvolvedor de IA

Problema: Precisa de dados estruturados para fine-tuning.

Solução CONVERTER:

from converter import batch_convert

chunks = batch_convert(
    source="datasets/",
    output_format="openai-jsonl",  # Pronto para fine-tuning
    chunk_size=2000
)

Perfil 4: Organização que Quer Autonomia

Problema: Depender de APIs externas é caro e inseguro.

Solução CONVERTER:

  • Self-hosted
  • Open source
  • Controle total dos dados
  • Zero vendor lock-in

☁️ Escala na Nuvem: Colab Híbrido (Rust + Python)

Para processamento em massa (>1000 arquivos), use nosso Colab Híbrido:

Arquitetura

┌──────────────┐     PyO3      ┌─────────────────┐
│  RUST        │◄──────────────►│  PYTHON WORKERS │
│ Orchestrator │                │                 │
│   (Rayon)    │                │ • pymupdf4llm   │
│              │                │ • pandoc        │
└──────────────┘                │ • tesseract     │
                                └─────────────────┘

Quando Usar

Cenário CONVERTER Local Colab Híbrido
< 100 arquivos ✅ Ideal ❌ Overkill
> 1000 arquivos ❌ Lento ✅ A100 GPU
Arquivos >100MB ❌ Memória limitada ✅ 150GB RAM
Desenvolvimento ✅ Instantâneo ❌ 2min setup
Dados sensíveis ✅ 100% offline ❌ Cloud

Link do Notebook

Acesse: https://colab.research.google.com/drive/1AjNkcLnar1JzEx8-JVpdDsHXodNmvv7b?usp=sharing

Guia completo: docs/colab-hybrid-guide.md

Performance Comparada

Métrica Local (RTX 4060) Colab (A100)
100 PDFs × 50MB ~25 min ~8 min
VRAM 8GB 80GB
Throughput 4 PDFs/min 12.5 PDFs/min

Conclusão: Use CONVERTER local para prototipagem e Colab Híbrido para produção em escala.


🚀 Próximos Passos

Instalação

pip install converter

Primeiro Uso

# Converter um PDF
converter documento.pdf

# Converter ZIP inteiro
converter processos.zip --output markdown/

# Com OCR (para PDFs escaneados)
converter escaneado.pdf --ocr --gpu

Integração com Sua IA Favorita

# Exemplo: Pipeline com Claude
import converter
import anthropic

# 1. Converter
markdown = converter.to_markdown("documento.pdf")

# 2. Enviar para IA
client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=4000,
    messages=[{
        "role": "user",
        "content": f"Analise este documento:\n\n{markdown}"
    }]
)

# 3. Receber análise estruturada
print(response.content)

📖 Filosofia

"Converter não é sobre mudar formatos. É sobre liberar conhecimento aprisionado em estruturas legadas para que máquinas possam compreender — e humanos possem multiplicar seu intelecto."

O conhecimento é o único recurso que multiplica quando compartilhado.

CONVERTER é a ponte entre o passado (documentos estáticos) e o futuro (inteligência augmentada).


Pronto para começar? Veja docs/quickstart.md

Quer entender a fundo? Veja docs/philosophy.md

Precisa de ajuda? Comunidade: discord.gg/converter

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kazuba_converter-0.1.0.tar.gz (48.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kazuba_converter-0.1.0-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

Details for the file kazuba_converter-0.1.0.tar.gz.

File metadata

  • Download URL: kazuba_converter-0.1.0.tar.gz
  • Upload date:
  • Size: 48.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for kazuba_converter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fb6d2a7422160380b2183f7afc0b555ffc07b301147c48629af7ba0b380509dc
MD5 39c4001a570d5d3d4255aeed49145850
BLAKE2b-256 7fa78721ecfceb3760f377bbc885dc967ac73b71cdb3af7aa887939e8b61c533

See more details on using hashes here.

File details

Details for the file kazuba_converter-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kazuba_converter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6a9e4c3ac74aa1e9996fff0eb7a66aae4243f2d7643f939848a923b02450b93
MD5 2e712482ec4f416773f65c671814aa1d
BLAKE2b-256 340649d5857ba9dc7fb21a167560f14dcc80c4f06a2e01a763584b0184a49e61

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page