Skip to content

diegtj2/name_finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧾 Name Finder

Ferramenta em Python para validar automaticamente se nomes de pessoas presentes em uma base de referência (.txt) aparecem em arquivos PDF (digitais ou escaneados).

O projeto combina extração de texto nativa (PDF digital) com OCR via IA (EasyOCR), utilizando CPU ou GPU de forma automática.


🚀 Funcionalidades

  • 📂 Detecção automática da pasta com PDFs

  • 📄 Leitura de PDFs digitais (PyMuPDF)

  • 🤖 OCR inteligente para PDFs escaneados (EasyOCR)

  • 🧠 Uso automático de GPU (CUDA) quando disponível

  • 🌍 Suporte a idioma PT / EN (detectado pelo sistema)

  • 🗂️ Organização automática dos arquivos em:

    • NAMES_FIND/ → PDFs com nome encontrado
    • NAMES_NOT_FIND/ → PDFs sem nome encontrado
  • 📊 Relatório final com métricas de processamento


📁 Estrutura do Projeto

NAME_FINDER/
├── documents/            # Pasta com PDFs (entrada)
├── NAMES_FIND/           # PDFs com nome encontrado (gerado)
├── NAMES_NOT_FIND/       # PDFs sem nome encontrado (gerado)
├── info.txt              # Base de nomes (1 nome por linha)
├── script.py             # Script principal
├── requirements.txt      # Dependências
├── LICENSE
└── README.md

📌 Pré-requisitos

  • Python 3.9+
  • CUDA (opcional, para uso de GPU)

📦 Instalação

pip install -r requirements.txt

⚠️ Em ambiente com GPU, certifique-se de que o PyTorch com CUDA está corretamente instalado.


📝 Arquivo de Referência (.txt)

  • Deve estar na raiz do projeto

O sistema filtra automaticamente:

  • Nomes corporativos (LTDA, S/A, EPP, etc.)
  • Entradas inválidas ou curtas

▶️ Execução

python script.py

O sistema irá:

  1. Detectar idioma e hardware
  2. Carregar a base de nomes
  3. Processar todos os PDFs
  4. Separar os arquivos por resultado
  5. Exibir relatório final

📊 Relatório Gerado

  • Total de nomes válidos carregados
  • Tempo total de execução
  • Tempo médio por arquivo
  • Quantidade de PDFs encontrados / não encontrados
  • Hardware utilizado (CPU ou GPU)

🧠 Tecnologias Utilizadas

  • Python
  • PyMuPDF (fitz)
  • EasyOCR
  • OpenCV
  • NumPy
  • PyTorch

⚠️ Observações

  • O OCR analisa apenas as 2 primeiras páginas de cada PDF (otimização de performance)
  • Quanto melhor a qualidade do PDF escaneado, maior a taxa de acerto

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages