I setup this node export server on our server. We followed the below steps while setting the server
Setup Steps
- git clone https://github.com/highcharts/node-export-server.git
- git checkout 7f5d512fe565632d2da32afbdc38662d7bf8fdef (for version 2.1.0)
- edited lib/server.js
from
req.on("close", function () {
connectionAborted = true;
});
to
req.socket.on("close", function () {
connectionAborted = true;
});
as the connection was getting closed.
- used node version 20.4.0 and provided env variables as:
export HIGHCHARTS_USE_MAPS=YES
export HIGHCHARTS_USE_GANTT=YES
export HIGHCHARTS_VERSION=8.0.0
export ACCEPT_HIGHCHARTS_LICENSE=YES
export HIGHCHARTS_USE_STYLED=YES
export OPENSSL_CONF=/etc/ssl
Also, we tried using 9.2.2 version of highcharts.
-
npm install
-
npm link
-
highcharts-export-server –enableServer 1 –logLevel 4 –allowCodeExecution 1
Actual behaviour
When using POST with input
{
"type": "image/png",
"scale": 2,
"globalOptions": "{colors: ["rgba(39,26,136,0.7)","rgba(241,203,93,0.7)","rgba(234,70,62,0.7)","rgba(114,189,85,0.7)","rgba(77,147,23,0.7)","rgba(163,151,243,0.7)"],lang: {thousandsSep: ','}}",
"infile": "{chart: {renderTo: 'test me',height: 400,width: 600},exporting: { sourceWidth:950,sourceHeight:300,enabled:false,allowHTML: true,sourceWidth: 400,sourceHeight: 400,scale: 1},credits: {enabled: true},title: {text: ''}}",
"callback": "function (chart) {chart.renderer.rect(0, 0,400,400, 8).attr({stroke: '#ccc',fill: '#fcfcfc',zIndex: 3,class:'dataSearchWidget'}).add();if (true == true) {chart.renderer.text('<span><span style="float: left;opacity: 1.0;class:fad fa-heart;">'+String.fromCodePoint(parseInt('f004', 16))+'</span><span style="float: left;left: 0;position: absolute;opacity: 0.4;">'+String.fromCodePoint(parseInt('10f004', 16))+'</span></span>', 40, 260,true).css({fontSize: '175px',color: '#4d545c'}).attr({zIndex: 4}).add(); }};(function(stringFromCharCode){var fromCodePoint=function(_){var codeUnits=[],codeLen=0,result="";for(var index=0,len=arguments.length;index!==len;++index){var codePoint=+arguments[index];if(codePoint<=0xFFFF){codeLen=codeUnits.push(codePoint);}else{codePoint-=0x10000;codeLen=codeUnits.push((codePoint>>10)+0xD800,(codePoint%0x400)+0xDC00);}}return result+stringFromCharCode.apply(null,codeUnits);};try{Object.defineProperty(String,"fromCodePoint",{"value":fromCodePoint,"configurable":true,"writable":true});}catch(e){String.fromCodePoint=fromCodePoint;}}(String.fromCharCode));"
}
i was expected below image
but got
I am using paid version of font awesome of version 5.15.1. And duotone fonts are available in it. I am using thie very fonts and able to plot the expected icon when using specific class, but getting error using this server.
Question
Can you please help here in this problem and provide suggestion. Also, updating highcharts version from this 2.1.0 requires major change in input chartscript so that is also not the viable idea here.