2014-02-14 51 views
1

我已閱讀並重新閱讀this關於渲染映像服務器端的頁面。我無法理解它。搜索的例子,但所有和它似乎永遠不夠。所以我回到了這裏,要求你提供一個清晰的例子或者指向正確方向的指針。Highcharts - 如何導出圖形服務器端?

這是我:

  1. 的Rails 4.0.2應用
  2. 有的一些代碼變得像由this gem
  3. highcharts-convert.js安裝某處this的jsfiddle
  4. Phantomjs圖表我的應用程序目錄

現在終於問題了。我該怎麼稱呼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:找不到命令

+0

放棄。我結束了使用highchart-image-api。 – tostasqb

回答

3

你所得到的錯誤是很清楚的:您的bash不能找到phantomjs可執行文件。這是因爲你已經安裝了phantomjsphantomjs gem,它們並沒有將可執行文件放在PATH中。

您有幾種選擇來解決這個:

  • phantomjs在路徑中。從寶石的文檔看來,它應該安裝在$HOME/.phantomjs/VERSION/PLATFORM
  • 而不是使用phantomjs命令使用可執行文件的完整路徑(這是上面提到的路徑)。
  • 使用寶石的API,您可以運行phantomjs命令。它會是這樣的:

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

    欲瞭解更多信息,請查閱examples

+0

好吧,更近一步:)'Phantomjs.run'是要走的路,但現在我該如何傳遞highcharts-convert.js以及我的json(字符串化)圖表? – tostasqb

+0

「Phantomjs.run」命令接受多個參數。所以我想你只需要指定你通常給'phantomjs'作爲參數的參數列表。 – Nikos

+0

作爲一個方面說明,它似乎來自您一直在閱讀的博客文章,高層人士已經實現了所有您正在嘗試執行的phantomjs過程,併發布了可處理返回適當圖像的外部請求的API。我認爲你需要比他們的解決方案更多的定製。 – Nikos

相關問題