よろしくお願いします。
phantomjs Highcharts エクスポート サーバーをセットアップしたいと考えています。入力および出力の jpeg 画像ファイルとして json オプションを受け入れる必要があります。
これが私がすることです:
- このリポジトリからサーバー側の js コードをダウンロードします: https://github.com/highslide-software/highcharts.com/tree/master/exporting-server/phantomjs
- 私はphantomjs 1.6.0をダウンロードします
走る
phantomjs highcharts-convert.js -host 127.0.0.1 -port 3001
次に、このサイトのクライアント コードを使用しようとしました: http://export.highcharts.com/demoでリクエストを送信します。フォーム アクションの URL を次のように変更しました。
<form id="exportForm" action="./" method="POST">
これに:
<form id="exportForm" action="http://0.0.0.0:3001" method="POST">
「Highcharts config object (JSON)」をクリックします。私が得るのはこのメッセージだけです:
レンダリングの失敗: SyntaxError: JSON 文字列を解析できません
同じリクエストを Highcharts サーバーで正しく処理できるため、使用している Highcharts サーバー側の js コードにエラーがあるはずです。次のコマンドも試しました:
phantomjs highcharts-convert.js -infile options.js \
-outfile chart.png -scale 2.5 -width 300
このコードを使用するとoptions.js
:
{
infile: {
xAxis: {
categories:['Jan','Feb','Mar','Apr',
'May','Jun','Jul','Aug',
'Sep','Oct','Nov','Dec']
},
series:[
{
data:[29.9,71.5,106.4,129.2,
144.0,176.0,135.6,148.5,
216.4,194.1,95.6,54.4]
}]
},
callback: function(chart){
chart.renderer
.arc(200,150,100,50,-Math.PI,0)
.attr({fill:'#FCFFC5',stroke:'black','stroke-width':1})
.add();
},
constr: "Chart",
outfile: "//tmp//chart.png"
}
そして、pngを正常に生成します。
Highchart はエクスポート関数にあまり手を加えていなかったようで、highcharts-convert.js ファイルにタイプミスが見つかりました。誰でもこれについて私を助けることができますか? どうもありがとう。