colombia-id-parser
v1.0.0
Published
Parser para extraer datos de cédulas colombianas clásicas (PDF417), como nombres, apellidos, número de documento, etc.
Maintainers
Readme
🇨🇴 colombia-id-parser
Parser de cédulas colombianas clásicas (PDF417). Extrae y estructura automáticamente los datos personales codificados en el reverso de las cédulas amarillas con hologramas (Antiguas).
✨ Características
- Parser de cédulas colombianas con PDF417
- Extrae: nombres, apellidos, número de documento, fecha de nacimiento, tipo de sangre, género, código AFIS, tarjeta dactilar.
🚀 Instalación
pnpm add colombia-id-parser
# o
npm install colombia-id-parser
# o
yarn add colombia-id-parser🧠 Uso básico
import { decodeColombianPdf417 } from 'colombia-id-parser';
const raw = '031312\u0000\u0000\u0000PubDSK_1\u0000\u0002C...'; // contenido del PDF417 leído de imagen
const data = decodeColombianPdf417(raw);
console.log(data);
/*
{
source: 'pdf417',
firstName: 'JOHN',
middleName: '',
lastName: 'FOO',
secondLastName: 'BAR',
birthDate: '11-10-1988',
bloodType: 'O+',
gender: 'M',
documentInfo: {
documentNumber: '1234567890',
afisCode: '123456',
fingerCard: '121212'
}
}
*/⚠️ Importante: Este parser espera como entrada una cadena de texto (
string) obtenida a partir del análisis de una imagen del PDF417, por ejemplo, usando librerías como @zxig/browser o servicios de OCR que devuelvan el contenido en texto plano.No es compatible directamente con los datos binarios o codificados que entregan algunos escáneres físicos de códigos de barras.
📌 Próximamente
Estamos trabajando en añadir soporte para otros formatos, como:
- 🧪 MRZ (Machine Readable Zone) — para las nuevas cédulas digitales.
¡Si te interesa colaborar o necesitas una funcionalidad en específico, abre un issue o PR!
🛡️ Licencia
MIT © Andy Kenway
🤝 Contribuciones
Este proyecto está en evolución activa para ajustarse a necesidades reales. Agradecemos contribuciones mediante pull requests, reportes de bugs o sugerencias de nuevas funcionalidades.
- 📂 Repositorio: Colombia ID Parser
- 🐛 Reportar un bug: Abrir issue
- 💡 Sugerir una mejora: Crear discusión
- 📬 Hacer un PR: Pull Requests
