Nie mogę sprawić, aby serwer eksportujący phantomJs z Highcharts działał poprawnie
Wielkie dzięki z góry.
Chcę skonfigurować serwer eksportu Phantomjs Highcharts. Powinien akceptować opcje json jako wejściowe i wyjściowe pliki obrazów JPEG.
Oto co robię:
Pobierz kod js po stronie serwera z tego repo:https://github.com/highslide-software/highcharts.com/tree/master/exporting-server/phantomjsPobieram phantomjs 1.6.0biegać
phantomjs highcharts-convert.js -host 127.0.0.1 -port 3001
Następnie próbowałem użyć kodu klienta w tej witrynie:http://export.highcharts.com/demo wysłać prośbę. Z tego zmieniłem adres URL formularza:
<form id="exportForm" action="./" method="POST">
do tego:
<form id="exportForm" action="http://0.0.0.0:3001" method="POST">
i kliknąłem „Obiekt konfiguracyjny Highcharts (JSON)”. Wszystko co otrzymuję to ta wiadomość:
Niepowodzenie renderowania: SyntaxError: Nie można przeanalizować łańcucha JSON
Ponieważ to samo żądanie może być poprawnie przetworzone na serwerze Highcharts, błąd musi być w kodzie js serwera Highcharts, którego używam. Próbowałem również następującego polecenia:
phantomjs highcharts-convert.js -infile options.js \
-outfile chart.png -scale 2.5 -width 300
Z tym kodem woptions.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"
}
I z powodzeniem generuje png.
Myślę, że Highchart nie włożył wiele pracy w funkcje eksportowania i znalazłem literówkę w pliku highcharts-convert.js. Czy ktoś może mi z tym pomóc? Wielkie dzięki.