Highcharts SVG Exportar desde Python Código lado del servidor
-
04-10-2019 - |
Pregunta
Estoy utilizando reportlab en Python para hacer un pdf del lado del servidor.
A mi me gusta el aspecto de Highcharts gráficos. Pero Estoy construyendo un lado del servidor pdf que debe incluir algunos gráficos. El lado del servidor graficar ( reportlab y matplotlib ) no tienen casi tan muchas opciones para dar formato / diseño.
¿Hay alguna manera de ejecutar una solución de JavaScript del lado del cliente de graficación ( Highcharts ) desde el lado del servidor / p>
Aquí está una posterior con esa petición y esto es lo que dijo: Usted alimenta a esta herramienta de Java una URL, se dispara hasta su navegador WebKit interna, ejecuta el código JavaScript y vuelca la página representada a PDF.
Busco a recursos sobre cómo esto podría lograrse en Python.
Solución
-
Abrir un navegador web en el servidor.
-
Punto el navegador web en una página de pre-hechos que las cargas
highcharts
y rinde su gráfico. -
Coge la salida del navegador.
-
Enviar que a un cliente.
¿Cuál de estas medidas parece confuso?
Tenga en cuenta que esto será significativamente más lento que simplemente usar matplotlib
, porque es necesario para poner en marcha un completo navegador de Internet sólo para hacer una gráfica. Tenía un rápido vistazo a la página Highcharts se enlazó y creo que probablemente se podría reproducir en que matplotlib.
Otros consejos
tuve requisitos similares y no podía encontrar una solución existente así que creé un poco de solución de prueba de concepto aquí .
Esta implementación funciona haciendo que el proceso de pitón crear un subproceso nodo que utiliza el módulo de nodo highchart-export-server
que en desova a su vez una instancia de PhantomJS para representar el gráfico. Unas muñecas rusas involucrados allí, pero hace el trabajo.