Last 3 months, i have a request to create reporting engine with pptx (powerpoint) as an output. The chart library I used is highcharts, highcharts is usually use in html document, just to show some interactive charts, i.e clickable, animation, and the type like line charts, pie charts, column / bar charts and scatter charts. Because highcharts is render the graphic in html using SVG, we can get raw SVG for those charts, please refer to highcharts ref.
The client ask me, “Can i get the powerpoint contains all charts, just using 1 click only?”. Then I replied, “Yes, You can”.
But there’s some problem for me.
1. I have to create the raw SVG, input is highcharts js, outputs is Highcharts SVG. envjs is the answer.
2. I have to render the chart in server side, input is highcharts svg, output is image jpeg / png. Rhino is the answer for this.
(last year i tried this project, but not finish, it using very high CPU usage)
Fortunately, there’s java library to create what i want, “render chart in server side”. Using library from one2team, CPU usage not so high than before, so that’s clear my problems. And Fortunately there’s php library to create powerpoint/open office presentation, you can find in codeplex.
Feel free to ask me if you want to see it in real Action.
This is the ppt file : Report pptx
And this is some screenshoot of them (open in new tab for higher resolution) :