Gráficos e informes
Combina gráficos, tablas y texto en una plantilla para crear informes de ventas, marketing o proyectos. Crear tu propio gráfico no requiere comprar un diseño de informe.
Crear un gráfico en el Generador
- Añade un gráfico desde Recursos y elige su tipo y título en el Inspector.
- Abre Editar datos del gráfico para modificar nombres de series, colores, categorías y valores numéricos. Añade series o filas según necesites.
- Aplicar transfiere los cambios al gráfico. Cancelar descarta los cambios hechos en el diálogo. Guarda la plantilla y comprueba la vista previa y las salidas.
Tipos y límites
Se admiten gráficos de columnas, barras horizontales, líneas, áreas, circulares y de anillo. Sus códigos de tipo JSON son:
barhorizontal-barlineareapiedonut
Los ejemplos se dibujan con el motor de gráficos del producto a partir de las mismas cuatro filas; solo cambia el código de tipo.
Cada gráfico admite hasta 100 categorías y 6 series. Los gráficos circulares y de anillo solo admiten una serie y rechazan valores negativos.
Ejemplo de elemento de plantilla
Este objeto es un elemento de gráfico del array elements de una plantilla schemaVersion: 2, no una solicitud de renderización completa. El ejemplo guarda los datos directamente en 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
}
}Vincular datos dinámicos
Para usar datos distintos en cada documento, añade binding: monthlyRevenue al elemento de gráfico y envía un array de objetos llamado monthlyRevenue en los datos de la solicitud. En ese caso, elimina content.data. labelField selecciona el campo de categoría y cada campo de serie selecciona su valor numérico. Se admiten rutas anidadas como sales.net.
Los números ausentes o no finitos no se convierten en cero; quedan como huecos en gráficos de líneas y áreas. Corrige los negativos de gráficos circulares o de anillo en los datos de origen. En gráficos densos pueden omitirse etiquetas para evitar solapamientos.
Un informe con datos reales
Un gráfico vinculado a monthlyRevenue lee el array del mismo nombre de la solicitud. La plantilla no cambia; solo llegan los números en cada llamada.
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": "es",
"data": {
"monthlyRevenue": [
{ "month": "2026-01", "revenue": 42000, "target": 40000 },
{ "month": "2026-02", "revenue": 51500, "target": 45000 },
{ "month": "2026-03", "revenue": 47250, "target": 50000 }
]
}
}'
Cada objeto del array representa una categoría. labelField selecciona el nombre de la categoría y cada campo de serie selecciona un número del mismo objeto.
Los errores más habituales
- binding y content.data son alternativas, no una pareja. Si un gráfico tiene ambos, seguirá dibujando los datos fijos y parecerá ignorar tu solicitud.
- Los valores de las series deben ser números. "42.000,00" es una cadena; dale formato para el lector en un elemento de texto, no en la serie.
- Un gráfico admite como máximo 100 puntos y 6 series. Agrega los datos antes de enviarlos en lugar de esperar que se dibujen las filas adicionales.
- En Word, el gráfico es una imagen, no un gráfico de Word editable. No se puede editar haciendo clic en él; el PDF y el visor muestran el mismo dibujo.
- 100% es el ancho del área contenedora, no de la hoja. Dentro de una columna o un contenedor con relleno es más estrecho que la página.
Comportamiento de vista previa y salida
Los gráficos usan un motor SVG común. PDF y el visor conservan su apariencia; las exportaciones Word contienen imágenes del gráfico, no objetos de gráfico Word editables.
Un ancho del 100% es el ancho disponible del área contenedora, no de toda la hoja. Los márgenes de página, las columnas y el relleno pueden reducir esa área.
Generar un documento →