Sobre este proyecto
it-programming / web-development
Abierto
Busco un programador Python experimentado para finalizar un script existente que automatiza la generación de catálogos de ofertas en formato PDF a partir de un archivo Excel. El objetivo es transformar un proceso manual en una tarea rápida y accesible para cualquier miembro del equipo.
Actualmente, cuento con un prototipo funcional desarrollado con Streamlit y ReportLab que logra leer el archivo Excel y aplicar fondos de página. Sin embargo, persisten problemas significativos en la maquetación y el renderizado de los productos dentro del PDF.
Los problemas principales a resolver son:
- Layout desordenado: Los productos no se alinean correctamente en una grilla consistente y la información textual se superpone.
- Artefactos visuales: Aparecen fondos negros inesperados en los textos y las imágenes con transparencia no se muestran adecuadamente.
- Falta de robustez: El diseño actual es frágil y propenso a romperse con cambios menores.
El entregable final debe ser un script robusto que genere un PDF profesional con las siguientes características:
- Maquetación perfecta: Implementar una grilla estricta de 3x3 (9 productos por página) en formato A4, asegurando consistencia en todas las páginas.
- Diseño de producto ordenado: Cada producto debe presentar su información (Imagen > SKU (negrita) > Nombre > Unidad > Precio) de forma vertical, centrada y sin superposiciones dentro de su celda en la grilla.
- Renderizado limpio: El PDF generado debe tener alta resolución, sin artefactos visuales y con correcto manejo de transparencias en las imágenes.
- Código mantenible: El código fuente debe estar limpio, bien organizado y documentado con comentarios claros.
Se ofrece total libertad técnica para abordar la solución. Puedes optar por corregir y mejorar el uso de ReportLab (quizás utilizando Tables u otro enfoque más robusto) o proponer y migrar a una librería de generación de PDF más adecuada y potente, como WeasyPrint o FPDF2, si consideras que es la mejor opción para lograr los requisitos de maquetación y renderizado.
Proporcionaré el código actual del prototipo, la carpeta con las plantillas de diseño, un archivo Excel de muestra con la estructura de datos y las imágenes de referencia del diseño final deseado para facilitar la comprensión y el desarrollo.
Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Cambio mediano
Plazo de Entrega: No definido
Habilidades necesarias