highcharts-svg icon indicating copy to clipboard operation
highcharts-svg copied to clipboard

Server Side Exports of Highcharts

The purpose of this project is to render server-side Highchart and return the result as an svg string.

The basic idea is to send data through to the amazing phantomjs (http://www.phantomjs.org/) to handle the rendering and return the content.

Requrirements:

  1. Webserver capable of executing PHP scripts
  2. phantomjs cabale of being run in 'headless' mode (it will be exec'd by the webserver after all). I built qt-webkit 4.8 with -qpa as an option.

This service accepts 1 required param $_REQUEST['chart'] //json data to be passed to Highcharts.Chart(<<HERE>>); the chart must: chart.renderTo = 'container' chart.renderer = 'SVG'

and should kill all animations/interactive components.

optional params

$_REQUEST['ignore_servify'] //place you in control of killing animations and setting proper container/renderer etc $_REQUEST['theme'] //allows you to override the default theme (optionally set in config.ini) $_REQUEST['format'] //jpg/png return raw binary image data instead of svg+xml $_REQUEST['convert_args'] //additional args to be passed to 'convert' in transformation to image format above $_REQUEST['width'] //hard-coded image width $_REQUEST['height'] //hard-coded image height

There is a basic config.ini.sample file included which must be copied to config.ini and at least set the phantomjs_path parameter.