Files
grafica-badge-itdevcon/README.md
T

64 lines
2.0 KiB
Markdown

# grafica-badge-itdevcon
Script python per la creazione delle grafiche dei badge vuoti di itdevcon (per i partecipanti dell'ultimo minuto)
## Setup ambiente
Prerequisito: [uv](https://docs.astral.sh/uv/getting-started/installation/) installato.
```bash
# Crea e attiva il virtual environment
uv venv
# Installa le dipendenze da requirements.txt
uv pip install -r requirements.txt
```
Per attivare manualmente il virtual environment:
- **Windows (PowerShell):** `.venv\Scripts\Activate.ps1`
- **Windows (CMD):** `.venv\Scripts\activate.bat`
- **Linux/macOS:** `source .venv/bin/activate`
## Esecuzione
Con uv (senza attivare manualmente il venv):
```bash
uv run genera_badge.py
```
Oppure, con il virtual environment attivo:
```bash
python genera_badge.py
```
L'output è un file PDF (`badge_qr.pdf`) con i badge pronti per la stampa.
## Cosa fa lo script
`genera_badge.py` genera badge in formato PDF per i partecipanti dell'evento itdevcon.
Per ogni partecipante crea un badge di **9x5 cm** contenente:
- **Nome** e **azienda** (centrati, font Helvetica-Bold 18pt)
- **QR code** con il link alla pagina di voto live (`https://live.itdevcon.it/web/vote/<id>`)
- **Angoli di ritaglio** (segni a "L" sui 4 angoli per facilitare il taglio manuale)
Il layout è ottimizzato per la stampa su **A4 landscape**: ogni pagina ospita una griglia di **2 righe x 3 colonne** (6 badge per pagina). Questa disposizione è stata scelta per evitare la zona laterale del foglio adesivo pieghevole, che non è stampabile, usando solo le aree "buone" del foglio.
Il file di output predefinito è `badge_qr.pdf`.
### Personalizzazione
I dati dei partecipanti vanno inseriti direttamente nell'array `partecipanti` all'interno dello script (`genera_badge.py`, riga 12). Ogni entry è un dizionario con chiavi `id`, `nome` e opzionale `azienda`.
Esempio:
```python
partecipanti = [
{"id": "ABC123", "nome": "Mario Rossi", "azienda": "ItDevCon Srl"},
{"id": "DEF456", "nome": "Anna Bianchi", "azienda": ""},
]
```