API for generating custom highchart images to be embedded in emails.
Rails API for generating highchart charts on the server side. Useful for embedding highcharts into emails or anywhere else where javascript is not an option. Leverages the highchart-convert.js script as outlined developed here.
Requires ruby 1.9.3 and phantomjs.
Clone the project
git clone git://github.com/kbaum/highchart-image-api.git
Install gems
cd highchart-image-api
gem install bundler
bundle
Install phantomjs
gem install brew
brew install phantomjs
Start up the server
rails server
Generate a chart using curl
HIGHCHART_OBJECT=`cat ./spec/fixtures/input.json`
curl -X POST -d "input=$HIGHCHART_OBJECT" http://localhost:3000/chart_images -o ./chart.png
Or optionally with width:
curl -X POST -d "input=$HIGHCHART_OBJECT&width=900" http://localhost:3000/chart_images -o ./chart.png
This project is made to deploy to heroku. It is using the heroku-buildingpack-multi depending including both phantomjs and ruby. Just create a new project within heroku and push it like you know how.
Using httparty:
require 'httparty'
chart_object_js = File.read('spec/fixtures/input.json')
response = HTTParty.post('http://localhost:3000/chart_images', body: {input: chart_object_js, width:550})
File.open('./chart.png', 'wb'){ |file| file << response.body }
Where chart_object_js is a string value that can be passed into the Highcharts.Chart constructor.