解决lodop不能打印echarts图表

最近做项目需要打印各种图表,目前项目用的lodop打印控件

ECharts一个纯 Javascript 的图表库,它提供了绘制各种图形的方法方法,几乎囊括了所有的二维图形,用起来也很是方便。还提供了图片下载的功能。但是在和lodop集成时候发现打印不出图表。于是就设想echarts自动生成图片的base64码渲染到IMG标签里,然后在用LODOP.ADD_PRINT_HTM打印。

代码如下:用到了echarts的   myChart.getImage() 该方法反会了一个图表的base64码

  // 图片base64编码
	  var jlcgImgBase64;
	  // 基于准备好的dom,初始化echarts实例
	  onload = function(){
	     var myChart = echarts.init(document.getElementById('main'));

        // 指定图表的配置项和数据
         var option = {
            title: {
                text: 'ECharts打印示例'
            },
            tooltip: {},
            legend: {
                data:['销量']
            },
            xAxis: {
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: {},
            animation: false,
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
         };
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
        jlcgImgBase64 = myChart.getDataURL();
        //动态的渲染到打印html的标签上
        document.getElementById('jlcg').setAttribute('src',jlcgImgBase64)
	  }

利用lodop 的LODOP.ADD_PRINT_HTM方法打印

最终效果如下



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值