HighCharts SVG Экспорт из бокового кода Python Server
-
04-10-2019 - |
Вопрос
я использую ReportLab. в Python, чтобы сделать сторону сервера PDF.
Мне очень нравится взгляд HighCharts. Графики. Но я строю сторону PDF-сервера, которая должна включать некоторые графики. Сервер боковой графики (ReportLab. а также matplotlib.) не имеют почти столько же вариантов форматирования / дизайна.
Есть ли способ, которым я могу запустить решение Graphing Side Side JavaScript (HighCharts.) с сторон сервера?
Вот сообщение С помощью этого запроса, и это то, что они сказали: вы кормите этот инструмент Java URL-адрес, он зажигает свой внутренний браузер WebKit, выполняет код JavaScript и сбрасывает отображающуюся страницу в PDF.
Я ищу ресурсы о том, как это может быть достигнуто в Python.
Решение
Откройте веб-браузер на сервере.
Укажите веб-браузер на предварительно сделанной странице, которая загружает
highcharts
и делает вашу график.Возьмите вывод браузера.
Отправьте это клиенту.
Какой из этих шагов кажется запутанным?
Обратите внимание, что это будет значительно медленнее, чем просто использовать matplotlib
, Поскольку вам нужно запустить полный веб-браузер, чтобы сделать график. У меня был быстрый взгляд на страницу HighCharts, которые вы связали, и я думаю, что вы, вероятно, можете воспроизвести это в Matplotlib.
Другие советы
У меня были похожие требования и не могли найти существующее решение, поэтому я создал небольшое доказательство концептуального решения здесь.
Эта реализация работает, имея процесс Python, создайте подпроцесс узла, который использует highchart-export-server
Узел модуль, который, в свою очередь, порождает экземпляр фантома, чтобы сделать график. Там вовлечено несколько русских кукол, но это делает работу.