Este proyecto es una herramienta de automatización desarrollada en Python para gestionar, diligenciar y firmar masivamente documentos de Microsoft Word (evaluaciones, certificaciones, etc.).
- Menú Interactivo: Interfaz de consola fácil de usar (
main.py). - Firmas Dinámicas: Asigna automáticamente la imagen de firma correcta según el nombre del aprendiz seleccionado.
- Relleno de Datos: Reemplaza marcadores como
{NOMBRE}y{FECHA}en todo el documento. - Posicionamiento Inteligente: Busca el texto "FIRMA DEL APRENDIZ" para insertar la imagen de la firma correctamente.
- Conversión a PDF: Convierte automáticamente los documentos generados a formato PDF.
- Soporte Legacy: Herramienta integrada en el menú para actualizar archivos antiguos
.doca.docx.
Para ejecutar este proyecto necesitas:
- Sistema Operativo: Windows (Requerido para la automatización COM con Word).
- Microsoft Word: Debe estar instalado en el equipo.
- Python 3.x instalado.
Instala las dependencias necesarias ejecutando:
pip install python-docx docx2pdf pywin32Para mantener el orden, el proyecto usa la siguiente estructura (las carpetas se crean solas al ejecutar por primera vez):
main.py: El script principal con el menú de opciones.aprendices.json: Base de datos de nombres y archivos de firmas asociados.plantillas/: Carpeta donde debes colocar tus documentos Word base (.docxo.doc).firmas/: Carpeta donde debes colocar las imágenes de las firmas (.png).ESPERA/: Carpeta creada automáticamente donde se guardan los archivos generados.
Para agregar más personas y sus firmas, edita el archivo aprendices.json que se genera automáticamente en la raíz del proyecto (no necesitas tocar el código):
{
"NOMBRE DEL APRENDIZ": "nombre_archivo_firma.png",
"OTRO APRENDIZ": "otra_firma.png"
}Coloca tus plantillas de Word (.docx) en la carpeta plantillas/ y tus imágenes en la carpeta firmas/. Asegúrate de que las plantillas tengan los marcadores {NOMBRE} y {FIRMA}.
Abre una terminal en la carpeta del proyecto y ejecuta:
python main.py- Opción 1 (Generar): Crea documentos Word en la carpeta
ESPERAcon los datos y firmas rellenos. Puedes elegir un aprendiz específico o generar todos a la vez. - Opción 2 (Convertir a PDF): Toma todos los archivos
.docxde la carpetaESPERAy los convierte a PDF.
Abre el script con python main.py y desde el menú principal, selecciona la opción 3 (Convertir plantillas antiguas (.doc) a (.docx)).
- Cierre de Archivos: Asegúrate de no tener abiertos los archivos Word (plantillas o resultados) mientras se ejecuta el script.
- Firma Manual: Si eliges escribir un nombre manualmente en el menú, el sistema buscará una imagen genérica llamada
firma.pngdentro de la carpetafirmas/.