64 lines
2.0 KiB
Markdown
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": ""},
|
|
]
|
|
``` |