highcharts默认情况下,是支持将图表导出为图片或打印功能的
在图表的右上角有两个按钮,主要用到的是它的导出属性-exporting
而highcharts的命令行导出功能--Nodejs 导出服务器,是对于需要自动生成图表、纯后端生成图表图片、批量生成图表的情况
使用也很方便,只需要安装nodejs导出服务器,有两种方式,分别是
直接安装npm包
npm install highcharts-export-server -g
源代码安装:
git clone https://github.com/highcharts/node-export-server
npm install
npm link
然后命令行导出,nodejs导出服务器运行方法
highcharts-export-server <arguments>
Nodejs 导出服务器以模块的形式在 Nodejs 程序中使用,简单的示例代码
加载导出模块
const exporter = require('highcharts-export-server');
导出配置
var exportSettings = {
type: 'png',
options: {
title: {
text: 'My Chart'
},
xAxis: {
categories: ["Jan", "Feb", "Mar", "Apr", "Mar", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
},
series: [{
type: 'line',
data: [1, 3, 2, 4]
}, {
type: 'line',
data: [5, 3, 4, 2]
}]
}
};
启动 Phantomjs 线程池
exporter.initPool();
执行导出
exporter.export(exportSettings, function(err, res) {
//导出的结果包含在 res 中
//如果导出结果不是 PDF 或 SVG,那么结果是 base64 编码的内容,可以通过 res.data 来获取
//如果导出结果是 PDF 或 SVG,那么结果是文件名,可以通过 res.filename 来获取
//当所有的操作完毕后,关掉线程池并推出程序
exporter.killPool();
process.exit(1);
});