Grafici e report
Combina grafici, tabelle e testo in un modello per creare report di vendita, marketing o progetto. Per creare un grafico non devi acquistare un design di report pronto.
Creare un grafico nel generatore
- Aggiungi un grafico da Risorse, poi scegli tipo e titolo nell'Inspector.
- Apri Modifica dati del grafico per cambiare nomi delle serie, colori, categorie e valori numerici. Aggiungi serie o righe secondo necessità.
- Applica trasferisce le modifiche al grafico. Annulla scarta quelle fatte nella finestra. Salva il modello e controlla anteprima e output.
Tipi e limiti
Sono supportati grafici a colonne, barre orizzontali, linee, area, torta e anello. I codici JSON dei tipi sono:
barhorizontal-barlineareapiedonut
Gli esempi vengono disegnati dal motore grafico del prodotto usando le stesse quattro righe; cambia solo il codice del tipo.
Ogni grafico supporta fino a 100 categorie e 6 serie. I grafici a torta e ad anello consentono una sola serie e rifiutano valori negativi.
Esempio di elemento del modello
Questo oggetto è un elemento grafico nell'array elements di un modello schemaVersion: 2, non una richiesta di generazione completa. L'esempio salva i dati direttamente in content.data.
{
"id": "monthly-revenue",
"type": "chart",
"placementMode": "flow",
"layout": { "width": 100, "widthUnit": "percent", "height": 240 },
"content": {
"title": "Revenue",
"data": [{ "month": "Jan", "revenue": 42 }, { "month": "Feb", "revenue": 52 }]
},
"chart": {
"type": "bar",
"labelField": "month",
"series": [{ "field": "revenue", "label": "Revenue", "color": "#e3232a" }],
"showLegend": true,
"showValues": true
}
}Associare dati dinamici
Per usare dati diversi in ogni documento, aggiungi binding: monthlyRevenue all'elemento grafico e invia nei dati della richiesta un array di oggetti chiamato monthlyRevenue. In questo caso rimuovi content.data. labelField seleziona il campo categoria e ogni campo di serie il proprio valore numerico. Sono supportati percorsi annidati come sales.net.
I numeri mancanti o non finiti non vengono convertiti in zero: restano vuoti nei grafici a linee e ad area. Correggi i valori negativi di torta e anello nei dati di origine. Nei grafici densi alcune etichette possono essere omesse per evitare sovrapposizioni.
Un report con dati reali
Un grafico associato a monthlyRevenue legge l'array omonimo dalla richiesta. Il modello resta uguale; solo i numeri arrivano con ogni chiamata.
curl -X POST https://api.pdfgine.com/api/v1/render \
-H "X-PDFgine-Key: $PDFGINE_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateCode": "sales-report",
"format": "pdf",
"locale": "it",
"data": {
"monthlyRevenue": [
{ "month": "2026-01", "revenue": 42000, "target": 40000 },
{ "month": "2026-02", "revenue": 51500, "target": 45000 },
{ "month": "2026-03", "revenue": 47250, "target": 50000 }
]
}
}'
Ogni oggetto dell'array è una categoria. labelField seleziona il nome della categoria e ogni campo di serie seleziona un numero dallo stesso oggetto.
Gli errori più comuni
- binding e content.data sono alternative, non una coppia. Un grafico che li contiene entrambi continua a disegnare i dati fissi e la richiesta sembra ignorata.
- I valori delle serie devono essere numeri. "42.000,00" è una stringa: formattala per il lettore in un elemento di testo, non nella serie.
- Un grafico accetta al massimo 100 punti e 6 serie. Aggrega i dati prima dell'invio anziché sperare che le righe in più vengano disegnate.
- In Word il grafico è un'immagine, non un grafico Word modificabile. Chi si aspetta di poterci intervenire resterà deluso; PDF e visualizzatore mostrano lo stesso disegno.
- 100% è la larghezza dell'area contenitrice, non del foglio. Dentro una colonna o un contenitore con spaziatura interna è più stretta della pagina.
Comportamento di anteprima e output
I grafici usano un renderer SVG condiviso. PDF e visualizzatore ne conservano l'aspetto; le esportazioni Word contengono immagini dei grafici anziché oggetti grafico Word nativi modificabili.
Una larghezza del 100% indica quella disponibile nell'area contenitrice, non nell'intero foglio. Margini, colonne e spaziature interne possono ridurla.
Genera un documento →