Highcharts SVG Export из кода на стороне сервера Python - PullRequest
1 голос
/ 24 сентября 2010

Я использую reportlab в python для рендеринга pdf-сервера.

Мне очень нравится внешний вид графиков highcharts . Но я строю pdf серверную часть, которая должна включать несколько графиков. Графы на стороне сервера ( reportlab и matplotlib ) не имеют столь большого выбора для форматирования / дизайна.

Есть ли способ запустить решение для построения графиков JavaScript на стороне клиента ( highcharts ) со стороны сервера?

Вот сообщение с этой просьбой, и вот что они сказали: Вы передаете этому инструменту Java URL-адрес, он запускает свой внутренний браузер WebKit, выполняет код JavaScript и выводит отрендеренную страницу в PDF.

Я ищу ресурсы о том, как это можно сделать в python.

Ответы [ 2 ]

2 голосов
/ 22 июля 2017

У меня были похожие требования и я не смог найти существующее решение, поэтому я создал небольшое проверочное решение здесь .

Эта реализация работает, когда процесс python создаетподпроцесс узла, который использует модуль узла highchart-export-server, который, в свою очередь, порождает экземпляр PhantomJS для визуализации диаграммы.Там участвуют несколько русских кукол, но это делает свою работу.

0 голосов
/ 24 сентября 2010
  1. Откройте веб-браузер на сервере.

  2. Направьте веб-браузер на предварительно созданную страницу, которая загружает highcharts и отображает вашу диаграмму.

  3. Получите выходные данные браузера.

  4. Отправьте это клиенту.

Какой изэти шаги кажутся запутанными?

Обратите внимание, что это будет значительно медленнее, чем просто использование matplotlib, потому что вам нужно запустить полноценный веб-браузер только для визуализации графика.Я быстро взглянул на страницу хай-чартов, на которую вы ссылались, и, думаю, вы могли бы воспроизвести ее в matplotlib.

...