Skip to content
legal-ocr logo

Legal Ocr

legal-ocr

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...

SKILL.md

Full skill instructions

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

ComponenteBibliotecaFunção
PDF → ImagemPyMuPDF (fitz)Conversão rápida (3.3x mais rápida que pdf2image)
Pré-processamentoOpenCVMelhoria de qualidade da imagem
OCR PrimárioPaddleOCRMelhor acurácia para português (95%+)
OCR FallbackEasyOCRAlternativa quando PaddleOCR falha
Pós-processamentoCustom + TransformersCorreçã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çãoThroughputAcuráciaRequisitos
GPU + Batch 32800 pág/​hora95%+8GB VRAM
GPU + Batch 16600 pág/​hora95%+6GB VRAM
CPU300 pág/​hora94%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

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View