echarts图片的打印问题

echarts图片很方便也好用,但是最近项目里用到了打印功能,要把页面图表也打印出来。

神奇的是,一点打印,图表就不见了,找了一下原因,原来是因为echarts是动态渲染出来的。

有什么办法能解决呢,找了万能的度娘,终于还是解决的我的问题。

那就是在图表渲染完成后将图片导出,并将图片地址赋值给img标签,打印时就打印img就能打印出图表。

具体如下

echarts提供了一个finished来监测图表是否已经渲染完成,还提供了一个getDataURL方法来生成图表的图片data 64地址

/**
* id 显示地图的div的id
* rows 地图上的xy轴的数据
*/
function drawChart(id, rows, option) {
	option.series[0].data = rows;
	var chart = echarts.init(document.getElementById(id));
	chart.setOption(option);
	//图表渲染完成后导出成图片给img标签
	chart.on('finished',function(){
            var img=chart.getDataURL();
            $('#img'+id).attr('src',img);
    });
}

棒棒的。。问题都迎刃而解。。

你可能感兴趣的:(前端)