highcharts 这个图表展示插件我想大家应该都知道,纯javascript编写,相比那些flash图表插件有很大的优势,至少浏览器不用考虑是否装了flash插件,功能也非常的强大,详细请看官网 ,我就不做多介绍了。
那今天咱们讨论的难题是我们平时用highchart生成图片时,首先要在前端展示出图表,然后通过图表的API 按钮或者自定义的按钮 来向后台发起请求,后台获取到图片的SVG信息时,然后根据SVG的信息生成对应的图片或者PDF文件输出到流供客户端下载或者直接保存在服务端。
那么这个图片生成必须依赖前台生成的图表来触发,那有些图片我们又想自动生成又不需要前端,生成后直接通过邮件发送或者写入word文件,该如何做呢?
有人会想可以模拟前台自动向后台发送请求,我这样试过,效率非常不敬人意!后来看了官方的一些介绍,引入了phantomjs 这个好东西,它是个javascript引擎库,基于webkit内核,能解析前台的HTML及javascript并生成对应的图片,最重要的一点是它能够以服务的形式独立运行在后端,接下来是详细步骤: