【问题标题】:Highcharts SVG Export from Python Server Side Code从 Python 服务器端代码导出 Highcharts SVG
【发布时间】:2010-09-23 20:57:21
【问题描述】:

我在 python 中使用reportlab 来渲染一个pdf服务器端。

我真的很喜欢highcharts 图表的外观。但我正在构建一个需要包含一些图表的 pdf 服务器端。服务器端绘图(reportlabmatplotlib)在格式化/设计方面几乎没有那么多选择。

有没有办法从服务器端运行客户端 javascript 图形解决方案 (highcharts)?

这是带有该请求的post,这就是他们所说的: 您为这个 Java 工具提供一个 URL,它会启动其内部 WebKit 浏览器,执行 JavaScript 代码并将呈现的页面转储为 PDF。

我正在寻找有关如何在 python 中实现这一点的资源。

【问题讨论】:

    标签: python django graph reportlab highcharts


    【解决方案1】:

    我有类似的要求,但找不到现有的解决方案,所以我创建了一个小的概念验证解决方案 here

    此实现通过让 python 进程创建一个节点子进程来工作,该子进程使用highchart-export-server 节点模块,该模块反过来生成一个 PhantomJS 实例来呈现图表。那里有几个俄罗斯娃娃,但它确实有效。

    【讨论】:

      【解决方案2】:
      1. 在服务器上打开网络浏览器。

      2. 将网络浏览器指向一个预制页面,该页面会加载 highcharts 并呈现您的图表。

      3. 抓取浏览器的输出。

      4. 将其发送给客户。

      其中哪些步骤看起来令人困惑?

      请注意,这将比仅使用matplotlib 慢得多,因为您需要启动一个完整的网络浏览器才能呈现图形。我快速浏览了您链接的 highcharts 页面,我认为您可能可以在 matplotlib 中重现该页面。

      【讨论】:

      • 我会看到如何在 matplotlib 中重现它。
      • P.S.特别是哪个步骤似乎令人困惑#2。我之前没有从服务器运行浏览器、渲染内容并将其保存在本地。
      • 应该和本地做一样,具体看服务器。您可以使用 selenium 甚至 pywin32(在 Windows 上自然)之类的东西来打开浏览器。
      猜你喜欢
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-05
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多