Highcharts - 如何导出图形服务器端?

时间:2014-02-14 17:02:54

标签: ruby-on-rails highcharts

我已阅读并重新阅读有关渲染图像服务器端的this页面。我无法理解它。搜索了一些例子,但所有这一切似乎都不够。所以我回到这里,要求你提供一个明确的例子,或者指向正确的方向。

这就是我所拥有的:

  1. Rails 4.0.2 app
  2. 使用this jsfiddle
  3. 等代码呈现的某些图表
  4. this gem
  5. 安装的Phantomjs
  6. 我的应用程序目录中的某个地方的highcharts-convert.js
  7. 现在终于出了问题。我该如何调用phantomjs以便将图像保存在服务器上?

    我试过这样:

    json_data = "json from jsfiddle"
    out_path = "/tmp/"
    width = 900
    
    Rails.logger.info %x[phantomjs /opt/projects/project_name/highcharts-convert.js -infile #{json_data} -outfile #{out_path} -width #{width} 2>&1]
    

    调用此代码的原因是我在this project

    周围窥探

    任何?

    编辑::还有一个细节,当我执行命令时,错误是

      

    sh:phantomjs:找不到命令

1 个答案:

答案 0 :(得分:3)

您收到的错误非常明确:您的bash无法找到phantomjs可执行文件。这是因为您已将phantomjsphantomjs gem一起安装,而examples未将可执行文件放入PATH中。

您可以选择解决此问题:

  • phantomjs放入PATH。从gem的文档中可以看出它应该安装在$HOME/.phantomjs/VERSION/PLATFORM
  • 不使用phantomjs命令,而是使用可执行文件的完整路径(如上所述)。
  • 使用gem的API,您可以运行phantomjs命令。它会是这样的:

     Phantomjs.run('./path/to/script.js')
    

    有关详细信息,请查看{{3}}。