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.
-
📂 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 encontradoNAMES_NOT_FIND/→ PDFs sem nome encontrado
-
📊 Relatório final com métricas de processamento
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
- Python 3.9+
- CUDA (opcional, para uso de GPU)
pip install -r requirements.txt
⚠️ Em ambiente com GPU, certifique-se de que o PyTorch com CUDA está corretamente instalado.
- Deve estar na raiz do projeto
O sistema filtra automaticamente:
- Nomes corporativos (LTDA, S/A, EPP, etc.)
- Entradas inválidas ou curtas
python script.pyO sistema irá:
- Detectar idioma e hardware
- Carregar a base de nomes
- Processar todos os PDFs
- Separar os arquivos por resultado
- Exibir relatório final
- 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)
- Python
- PyMuPDF (fitz)
- EasyOCR
- OpenCV
- NumPy
- PyTorch
- 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