html2canvas 将html 内容生成图片并下载

1. 下载并引入  html2canvas.js  

2. 页面 

<div id="testId"> XXX </div>

3. js 生成并保存图片

function downPNG(pngName, pngId){

       html2canvas(document.getElementById(pngId), {

                onrendered: function(canvas) {

                var imgData = canvas.toDataURL('image/octet-stream');

                if (canvas.msToBlob) {     // IE 9+浏览器

                        var blob = canvas.msToBlob();

                        window.navigator.msSaveBlob(blob, pngName);

                 }else {

                         saveFile(imgData,pngName);

                   }

              }

        });

   }

var saveFile = function(data, filename){

var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');

save_link.href = data;

save_link.download = filename;

var event = document.createEvent('MouseEvents');

event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

save_link.dispatchEvent(event);

};

4. 传入页面id,点击按钮下载并保存该区域为图片

$(document).on("click",'.btn-save',function(){

downPNG( 'test.png','testId');

});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,473评论 1 10
  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock阅读 8,669评论 2 36
  • 不支持上传文件,所以就复制过来了。作者信息什么的都没删。对前端基本属于一窍不通,所以没有任何修改,反正用着没问题就...
    全栈在路上阅读 6,041评论 0 2
  • body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoot...
    wangyw阅读 3,677评论 0 0
  • 今天开始看《W两个世界》,剧情跌宕起伏,完全沉溺其中。加上在旅途中,完全处于断网状态,能安安心心看一部剧的时候不多...
    茉莉大大阅读 1,814评论 0 0

友情链接更多精彩内容