Aplicación de escritorio para generar catálogos en PDF desde archivos CSV y fotos de productos.
Forn i Pastisseria Prat - Mollet del Vallès
- Importación CSV: Carga productos desde archivos CSV con detección automática de codificación
- Catálogo visual: Visualiza productos organizados por categoría y familia
- Generación PDF: Crea catálogos profesionales en PDF con fotos
- Multiplataforma: Ejecutables para Windows y Linux sin necesidad de instalar Python
- Python 3.10+
- PyQt6
- SQLAlchemy
- ReportLab
- Pillow
- chardet
- Windows 10/11 (ejecutable
.exe) - Linux (ejecutable binario)
# Clonar repositorio
git clone https://github.com/Zartch/PRAT.git
cd PRAT
# Crear entorno virtual
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
# Instalar dependencias
pip install -r requirements.txtpython run.pypython build.pyEl ejecutable se generará en:
- Windows:
dist/PRAT.exe - Linux:
dist/PRAT
El script detecta automáticamente la plataforma y genera el ejecutable correspondiente.
El archivo CSV debe usar punto y coma (;) como separador:
| Columna | Descripción | Requerido |
|---|---|---|
| CODI | Código único del producto | Sí |
| NOM | Nombre del producto | Sí |
| PREU | Precio (usar coma: 1,50) | Sí |
| FAMILIA | Familia(s), separar con coma | No |
| CATEGORIA | Categoría(s), separar con coma | No |
| unitatMesura | 'kg' o 'unitat' | No |
| Descripcio | Descripción del producto | No |
CODI;NOM;PREU;FAMILIA;CATEGORIA;unitatMesura;Descripcio
1001;Pa de pagès;2,50;Pans;Tradicional;unitat;Pa artesanal
1002;Croissant;1,20;Pastisseria;Brioixeria;unitat;Croissant de mantegaLas fotos deben nombrarse con el código del producto:
1001.jpeg,1001.jpg,1001.png- Configurar directorio desde la aplicación: Directorio Fotos
PRAT/
├── app/
│ ├── __init__.py
│ ├── database.py # Configuración SQLAlchemy
│ ├── models.py # Modelos de datos
│ ├── utils.py # Utilidades
│ └── views/
│ ├── main_window.py # Ventana principal
│ ├── catalog_view.py # Vista catálogo
│ ├── csv_import.py # Importación CSV
│ └── pdf_generator.py # Generador PDF
├── media/ # Logos y recursos
├── requirements.txt
├── run.py # Punto de entrada
├── build.py # Script de build
└── prat.spec # Configuración PyInstaller
MIT License