Executando verificação de segurança...
2

Pitch: Crow Docs — OCR de alta precisão para documentos brasileiros, 100% offline e gratuito

Fala pessoal! Sou o Caio e venho compartilhar uma atualização grande do Crow Docs — uma PWA gratuita e offline-first para ferramentas de PDF e documentos.

O problema que eu queria resolver: fazer OCR de qualidade em documentos do setor público brasileiro (aqueles PDFs escaneados de prefeitura, cartório, tribunal) direto no navegador, sem enviar nada para servidor nenhum.

Implementei um sistema de 4 fases que transforma o pipeline de OCR da ferramenta:

Fase 1 — Pré-processamento com OpenCV.js

O OpenCV.js (~9.9 MB) é carregado sob demanda apenas quando o usuário ativa o modo avançado. O pipeline aplica:

  • Conversão para escala de cinza
  • Filtro bilateral (denoise preservando bordas)
  • Correção de inclinação (deskew via minAreaRect)
  • CLAHE para equalização de contraste adaptativa
  • Binarização adaptativa com threshold proporcional

Tudo isso antes do texto sequer chegar no Tesseract. A diferença em documentos escaneados tortos ou com baixo contraste é brutal.

Fase 2 — Tesseract otimizado para PT-BR

  • Modelos tessdata_best (LSTM de alta precisão) para português (7.8 MB) e inglês (15 MB)
  • PSM configurável por painel (auto, coluna, bloco, texto esparso)
  • Normalizador pós-OCR para texto brasileiro: corrige padrões de CPF, CNPJ, CEP, datas (dd/mm/aaaa), valores monetários (R$) e 18 termos administrativos comuns (Prefeitura, Município, Secretaria...)

Fase 3 — Extração estruturada de dados

Uma ferramenta dedicada que recebe imagens ou PDFs e extrai automaticamente:

  • CPF, CNPJ, RG
  • CEP, datas, telefones
  • E-mails, valores em R$, números de protocolo

Tudo com validação (contagem de dígitos, range de datas) e deduplicação. Exporta para JSON, CSV ou copia para a área de transferência.

Fase 4 — Análise de layout heurística

A parte mais recente. Quando ativada, a ferramenta:

  1. Detecta tabelas usando morfologia OpenCV (detecção de linhas horizontais e verticais)
  2. Detecta zonas de texto via perfil de projeção horizontal (conta pixels escuros por linha)
  3. Ordena as regiões na ordem de leitura (cima→baixo, esquerda→direita)
  4. Faz OCR independente em cada região
  5. Gera Markdown estruturado — tabelas viram tabelas Markdown com | e ---, texto vira parágrafos

O resultado é um documento Markdown que preserva a estrutura do original, exportável com um clique.

Stack técnica

  • Zero backend — tudo roda no navegador (Web Workers)
  • PWA offline-first — Service Worker com cache versionado, funciona sem internet após primeiro acesso
  • Libs pesadas sob demanda — OpenCV.js e tessdata_best só baixam quando o usuário realmente precisa
  • Fallbacks em cascata — se OpenCV falha, usa preprocessamento normal; se modelo best não existe para um idioma, usa standard

O Crow Docs tem também outras ferramentas: juntar/dividir PDF, comprimir imagens, converter formatos, PDF para áudio, marca d'água, e mais — tudo no navegador.

Se alguém trabalha com documentos do setor público e sofre com OCR de baixa qualidade, testa e me diz o que achou. Feedback é bem-vindo!


Carregando publicação patrocinada...