Claude Code Plugins

Community-maintained marketplace

Feedback

Extrai texto de documentos jurídicos escaneados em PDF usando OCR otimizado para linguagem jurídica brasileira. Use quando precisar converter PDFs escaneados (sentenças, petições, acórdãos) em texto editável com alta precisão. Suporta documentos de baixa qualidade, multi-colunas, tabelas e termos jurídicos específicos.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name legal-ocr
description Extrai texto de documentos jurídicos escaneados em PDF usando OCR otimizado para linguagem jurídica brasileira. Use quando precisar converter PDFs escaneados (sentenças, petições, acórdãos) em texto editável com alta precisão. Suporta documentos de baixa qualidade, multi-colunas, tabelas e termos jurídicos específicos.
allowed-tools Read, Grep, Glob, Bash

Legal OCR - Extração de Texto de Documentos Jurídicos

Visão Geral

Esta skill extrai texto de documentos jurídicos escaneados em formato PDF usando técnicas avançadas de OCR (Optical Character Recognition) otimizadas especificamente para a linguagem jurídica brasileira.

Principais características:

  • Alta precisão: 95%+ em documentos limpos, 85-90% em documentos de baixa qualidade
  • Otimizado para português jurídico: Dicionário especializado com 200+ termos jurídicos
  • Pré-processamento inteligente: Correção de inclinação, remoção de ruído, melhoria de contraste
  • Multi-engine: PaddleOCR (primário) + EasyOCR (fallback)
  • Estrutura preservada: Identifica seções (relatório, fundamentação, dispositivo)
  • Validação de qualidade: Score de confiança e detecção de erros

Quando Usar

Use esta skill quando precisar:

  • Converter PDFs escaneados de processos judiciais em texto editável
  • Extrair conteúdo de sentenças, acórdãos, petições digitalizadas
  • Processar documentos antigos ou de baixa qualidade de escaneamento
  • Alimentar sistema de análise jurídica (RAG) com documentos históricos
  • Criar banco de jurisprudência a partir de documentos físicos digitalizados

NÃO use para:

  • PDFs nativos digitais (use ferramentas de extração de texto direto)
  • Documentos manuscritos (acurácia limitada)
  • Imagens com resolução < 200 DPI (resultados ruins)

Como Funciona

Pipeline de Processamento

PDF Scaneado
    ↓
[1] Conversão PDF → Imagem (PyMuPDF, 300 DPI)
    ↓
[2] Pré-processamento
    • Conversão para escala de cinza
    • Correção de inclinação (Hough Transform)
    • Remoção de ruído (Median Blur)
    • Melhoria de contraste (CLAHE)
    • Binarização adaptativa
    ↓
[3] OCR Engine (PaddleOCR pt-BR)
    • Detecção de texto
    • Reconhecimento de caracteres
    • Score de confiança
    ↓
[4] Fallback (EasyOCR) se confiança < 30%
    ↓
[5] Pós-processamento
    • Correção com dicionário jurídico
    • Correção de acentuação
    • Identificação de estrutura do documento
    ↓
[6] Validação de Qualidade
    • Score de confiança
    • Detecção de problemas (O/0, l/1, etc.)
    • Flag para revisão humana
    ↓
Texto Estruturado (JSON)

Tecnologias Utilizadas

Componente Biblioteca Função
PDF → Imagem PyMuPDF (fitz) Conversão rápida (3.3x mais rápida que pdf2image)
Pré-processamento OpenCV Melhoria de qualidade da imagem
OCR Primário PaddleOCR Melhor acurácia para português (95%+)
OCR Fallback EasyOCR Alternativa quando PaddleOCR falha
Pós-processamento Custom + Transformers Correção de termos jurídicos

Recursos

1. Pré-processamento Avançado

  • Correção de inclinação: Detecta e corrige documentos escaneados tortos
  • Remoção de ruído: Remove artefatos de escaneamento
  • CLAHE: Melhoria de contraste adaptativa (crítico para documentos antigos)
  • Binarização: Converte para preto/branco otimizado para OCR

2. Dicionário Jurídico Brasileiro

  • 200+ termos jurídicos pré-cadastrados
  • Correção automática de erros comuns (ex: "açao" → "ação", "decisao" → "decisão")
  • Fuzzy matching para termos similares (85%+ similaridade)
  • Cobertura de áreas: civil, penal, trabalhista, tributário

3. Identificação de Estrutura

Reconhece automaticamente seções típicas de documentos jurídicos:

  • Cabeçalho: Tribunal, número do processo
  • Preâmbulo: Partes, juiz
  • Relatório: Síntese dos fatos
  • Fundamentação: Argumentação jurídica
  • Dispositivo: Decisão final
  • Assinaturas: Bloco de assinaturas

4. Suporte a Layouts Complexos

  • Multi-colunas
  • Tabelas (extração estruturada)
  • Cabeçalhos e rodapés
  • Notas de rodapé

5. Validação de Qualidade

  • Score de confiança (0-100)
  • Detecção de confusão O/0, l/1, S/5
  • Verificação de elementos obrigatórios (juiz, tribunal, data, etc.)
  • Flag automático para revisão humana quando confiança < 70%

Uso Básico

Comando Simples

# Extrair texto de um único PDF
python .claude/skills/legal-ocr/pipeline_ocr.py sentenca_escaneada.pdf

Comando com Opções

# Alta qualidade + GPU + output customizado
python .claude/skills/legal-ocr/pipeline_ocr.py \
  --input documento.pdf \
  --output resultado.json \
  --quality high \
  --use-gpu \
  --dpi 400

Batch Processing

# Processar múltiplos PDFs
python .claude/skills/legal-ocr/pipeline_ocr.py \
  --input-dir ./processos_escaneados/ \
  --output-dir ./textos_extraidos/ \
  --batch-size 32

Output Format

O resultado é um arquivo JSON estruturado:

{
  "filename": "sentenca_123.pdf",
  "timestamp": "2025-12-10T21:00:00",
  "metadata": {
    "total_pages": 15,
    "processing_time_seconds": 45.2,
    "gpu_used": true,
    "primary_engine": "paddleocr",
    "fallback_used_pages": [3, 7]
  },
  "pages": [
    {
      "page_num": 1,
      "text": "SENTENÇA\n\nProcesso nº 0001234-56.2024.8.26.0100...",
      "confidence": 0.92,
      "source": "paddleocr",
      "validation": {
        "confidence": 85,
        "issues": [],
        "requires_review": false
      },
      "structure": {
        "section": "header",
        "detected_elements": ["tribunal", "numero_processo", "juiz"]
      }
    }
  ],
  "full_text": "SENTENÇA\n\nProcesso nº 0001234-56.2024.8.26.0100...",
  "document_structure": {
    "header": "SENTENÇA\nTribunal de Justiça de São Paulo...",
    "relatorio": "Trata-se de ação de...",
    "fundamentacao": "É o relatório. Decido.\n\nO pedido merece...",
    "dispositivo": "Pelo exposto, JULGO PROCEDENTE..."
  },
  "quality_summary": {
    "avg_confidence": 0.89,
    "total_issues": 2,
    "pages_requiring_review": 0,
    "overall_quality": "good"
  }
}

Instalação

Pré-requisitos

  • Python 3.8+
  • (Opcional) GPU NVIDIA com CUDA para acelerar processamento

Instalação Automática

cd .claude/skills/legal-ocr
chmod +x setup.sh
./setup.sh

Instalação Manual

cd .claude/skills/legal-ocr
pip install -r requirements.txt

# Baixar modelos PaddleOCR (português)
python -c "from paddleocr import PaddleOCR; PaddleOCR(lang='pt')"

Configuração

Configurações Padrão (documents limpos)

{
    'dpi': 300,
    'quality': 'standard',
    'confidence_threshold': 0.4,
    'use_gpu': True,
    'batch_size': 32
}

Para Documentos de Baixa Qualidade

{
    'dpi': 400,
    'quality': 'high',
    'confidence_threshold': 0.2,
    'preprocessing': {
        'clahe_clip_limit': 4.0,
        'denoise_strength': 7,
        'binarization': 'adaptive'
    }
}

Performance

Configuração Throughput Acurácia Requisitos
GPU + Batch 32 800 pág/hora 95%+ 8GB VRAM
GPU + Batch 16 600 pág/hora 95%+ 6GB VRAM
CPU 300 pág/hora 94% 4GB RAM

Estimativa de custos: Infraestrutura open-source, custo zero de APIs

Limitações

  • Documentos manuscritos: acurácia < 60% (não recomendado)
  • Imagens < 200 DPI: resultados ruins
  • Documentos muito antigos/deteriorados: podem requerer ajuste manual
  • Tabelas complexas: extração estruturada limitada
  • Idiomas: otimizado apenas para português brasileiro

Suporte

Para questões técnicas, consulte:

  • reference.md: Detalhes técnicos completos
  • examples.md: Exemplos práticos de uso
  • Logs: .claude/skills/legal-ocr/logs/ocr_processing.log

Integração com SIGEDEC

Esta skill foi desenhada para integrar perfeitamente com o sistema SIGEDEC:

# Exemplo de integração
from pipeline_ocr import LegalDocumentOCRPipeline

# Processar documento para indexação no Qdrant
pipeline = LegalDocumentOCRPipeline(use_gpu=True)
result = pipeline.process_legal_document('acórdão_escaneado.pdf')

# Enviar para vector database
if result['quality_summary']['overall_quality'] in ['good', 'excellent']:
    # Indexar no Qdrant
    store_in_vectordb(result['full_text'], metadata=result['metadata'])

Próximas Melhorias

  • Suporte a DeepSeek-OCR (10x compressão, 97% acurácia)
  • Modelo de linguagem fine-tuned para jurídico brasileiro
  • OCR de tabelas complexas com estrutura preservada
  • Detecção automática de assinaturas digitais
  • Suporte a documentos multi-idioma (espanhol, inglês)

Versão: 1.0.0 Última atualização: 2025-12-10 Licença: MIT Autor: SIGEDEC Team