Se permite la generación de un screenshot de un dashbaord en formato imagen png y en formato documento pdf a través de un api rest habilitada para ello.
Como se puede observar, hay dos endpoints con dicha funcionalidad:
- generateDashboardImage → Permite la generación rest en una imagen png del dashboard. Los parámetros son los siguientes:
- Dashboard ID → id del dashboard, puede obtenerse de la url del propio dashboard:
- waittime → tiempo que se da para el renderizado del dashboard en backend, puede ocurrir que ciertas queries o elementos tarden en acabar por lo que habrá que aumentar este parámetro.
- height/width/fullpage → altura, anchura en píxeles y flag para priorizar el renderizado fullscreen de la imagen resultante. Se deberán configurar estos parámetros para obtener un screenshot correcto de cada dashboard.
- Params → Cuando un dashboard presenta parametría custom, puede incluirse aquí en formato url (param1=value1¶m2=value2):
- Authorization → Token oauth de un usuario con permisos al menos de lectura sobre el mismo.
- generatePDFImage → Permite la generación de un documento PDF Vectorial sobre el dashboard. El soporte vectorial del mismo dependerá de las librerías usadas en el dashboard, por ejemplo, una librería canvas (chartjs, echarts con render canvas, ...) nunca será vectorial, en cambio un librería SVG lo será (echarts con render svg, D3,...). Lo parámetros son análogos al de imagen, salvo el de fullscreen que no aplica en este caso.
Finalmente invocando desde swagger o un cliente rest podemos obtener la imagen renderizada: