angular2中使用html2canvas将数据导出为图片,并下载本地

1、安装html2canvas

npm install --save html2canvas

官方网站
https://html2canvas.hertzen.com/

2、在需要的组件中引入html2canvas

// 导入整个模块的内容
import * as html2canvas from 'html2canvas';

3、定义方法,将数据转换为canvas

// #mainTable是数据表格的id
takeScreenShot() {
        // 使用html2canvas插件,将数据源中的数据转换成画布。
        html2canvas(document.querySelector("#mainTable")).then(canvas => {
            console.log(canvas,"生成的画布文件");
            this.canvasImg = canvas.toDataURL("image/png");
        });
    }
    
// 然后给初始化的public canvasImg: any = ""; 复制,他就是图片地址。

// 展示图片
<img src="{{canvasImg}}" />

4、将图片下载到本地,定义转换图片格式方法

// filename: 文件名称, content: canvas图片流地址
    downloadFile(filename,content) {
        var base64Img = content;
        var oA = document.createElement('a');
        oA.href = base64Img;
        oA.download = filename;
        var event = document.createEvent('MouseEvents');
        event.initMouseEvent('click',true,false,window,null);
        oA.dispatchEvent(event);
    }
    
    
    // 方法调用
    saveImgLocal() {
        this.downloadFile("导出图片",this.canvasImg);
    }

5、下载

<button label="下载" pButton (click)="saveImgLocal()"></button>

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...