Cómo Generar PDFs de DNIs Escaneados con un Solo Script en Python

Introducción
¿Tienes cientos de imágenes escaneadas de DNIs y necesitas convertirlas rápidamente en archivos PDF organizados? En este tutorial, aprenderás a automatizar este proceso con un sencillo script en Python. Esta solución está pensada especialmente para estudiantes del módulo de ofimática de 1º de Sistemas Microinformáticos y Redes, pero puede ser útil para cualquiera que quiera ahorrar tiempo gestionando documentos escaneados.
Organización de las imágenes: la clave del éxito
El punto de partida es una carpeta que contiene imágenes escaneadas de DNIs, organizadas en parejas por persona:
- Anverso (parte frontal): con el nombre de archivo en el formato
Front_nombre.png
- Reverso (parte trasera): con el nombre
Back_nombre.png
Por ejemplo:
Front_Leon.png
Back_Leon.png
Cada pareja representa a una persona, y el objetivo es combinar ambas imágenes en una sola página de tamaño DIN A4, una encima de la otra, y generar un PDF por cada par.
El script en Python: automatización al poder
Para lograr esta tarea de forma automática, se crea un script en Python que:
- Acepta dos parámetros desde la línea de comandos:
src
: carpeta de origen donde están las imágenes.dst
: carpeta de destino donde se guardarán los PDFs.
- Utiliza la biblioteca Pillow para trabajar con imágenes.
- Genera un archivo PDF por cada pareja, con ambas imágenes alineadas verticalmente en una sola página DIN A4.
El nombre del PDF sigue el patrón: dni_nombre.pdf
.
Ejemplo de uso
Desde tu terminal, ejecutas el script así:
python generar_dnis.py --src dnis --dst dnis_pdf
Y ¡listo! El script recorrerá todos los pares de imágenes en la carpeta dnis
y creará un PDF para cada persona en la carpeta dnis_pdf
.
Errores comunes y cómo solucionarlos
Durante el proceso, pueden surgir pequeños problemas. Uno de los más frecuentes es que las imágenes del reverso se vean recortadas en el PDF final. Esto ocurre porque las imágenes no siempre tienen la misma proporción o resolución.
Aunque se puede ajustar el script para evitar este recorte, en este caso se ha optado por dejarlo así para no romper la lógica de combinación que ya funciona correctamente. Como se comenta en el vídeo, a veces es mejor dejar un pequeño fallo visual que arriesgarse a desconfigurar todo el proceso automatizado.
Recomendaciones finales
Este tutorial se ha ejecutado sobre una distribución Debian, usando Visual Studio Code y un entorno de desarrollo virtual previamente configurado. Si aún no has visto cómo se monta este entorno, te invitamos a ver el vídeo anterior del canal.
Conclusión
Este script es ideal si necesitas generar rápidamente decenas o cientos de PDFs de DNIs escaneados. Aunque tiene margen de mejora en cuanto a proporciones de imagen, cumple su propósito principal: automatizar una tarea repetitiva y ahorrar mucho tiempo.
¿Te ha gustado este tutorial? Dale a «me gusta», suscríbete al canal para más contenido práctico como este y deja un comentario si te gustaría ver la versión mejorada del script. ¡Nos vemos en el siguiente vídeo!