前端用html2Canvas 把vue网页转换成图片 不能下载局部的图片,而且下载下来的图片没有后缀

发布于 2022-09-06 11:24:04 字数 636 浏览 13 评论 0

printOut(){

  console.log('pdf')
  html2Canvas(document.getElementById('#pdf')).then(canvas => {
      console.log('-----picture')
      console.log(canvas)
      // var imgUri = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); // 获取生成的图片的url  
      var imgUri = canvas.toDataURL("image/png")
          window.location.href= imgUri // 下载图片       
  });
},

--------------
有 (2)个问题
1.我需要获取页面中 div #pdf 区域部分转换成 图片

但是document.getElementById('#pdf')  中获取的是整个页面 也就是document.body部分的页面  并转换成了图片  

2.图片文件是转换 并下载下来了 但是下载下来文件是 (图片) 没有后缀 .png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

默嘫て 2022-09-13 11:24:04

vue2.0 <div ref='pdf'></div> 用this.$refs.pdf获取dom元素

不要直接用window.location.href下载图片

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);

};
saveFile(imgUri,'filename');

原谅我要高飞 2022-09-13 11:24:04

window.location.href= imgUri+'jpg' 试试 ,我忘记了

擦肩而过的背影 2022-09-13 11:24:04

您好请问您的问题解决了吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文