广告
返回顶部
首页 > 资讯 > 前端开发 > html >如何使用html canvas实现网页截图并嵌入到PDF
  • 912
分享到

如何使用html canvas实现网页截图并嵌入到PDF

2024-04-02 19:04:59 912人浏览 八月长安
摘要

本文小编为大家详细介绍“如何使用html canvas实现网页截图并嵌入到pdf”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用html canvas实现网页截图并嵌入到PDF”文章能帮助大家解决疑

本文小编为大家详细介绍“如何使用html canvas实现网页截图并嵌入到pdf”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用html canvas实现网页截图并嵌入到PDF”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

  canvans的原理是将dom节点在Canvas里画出来,虽然特殊方便,但是仍有一些限制。如:

  不支持iframe

  不支持跨域图片

  部分浏览器上不支持SVG图片

  不支持Flash

  不支持古代浏览器和IE9以下

  function canvasImg(divName,fORMName,actionType){

  html2canvas(divName, {

  onrendered : function(canvas) {

  var myImage=canvas.toDataURL(“image/jpeg”);

  //动态生成input框

  var input1=document.createElement(‘input’);

  input1.setAttribute(‘type’, ‘hidden’);

  input1.setAttribute(‘name’, ‘canvasImg’);

  input1.setAttribute(‘value’,myImage);

  formName.appendChild(input1);

  formName.actionType.value=actionType;

  formName.submit();

  }

  });

  }

  在这里我抽取成了公共js,divName是$(‘#id’)取需要截图的DOM对象,function(canvas)渲染完成后回调的canvas对象formName是form表单的名字,actionType是action方法名。 我这里是将得到的截图,进行Base64编码,再通过post请求,在后台获取。

  data是经过base64编码的图片数据,将图片通过写入文件流中。

  这里的PDF使用是IText生成。

  如果图片过大,则必须进行分页。但是生成的是一张大图,Itext无法进行自动分页。这里分页有两种思想。一是使用虚拟打印机,将图片分页,再进行导出。二就是将大图切成小图,这种方式依赖于图片切分的大小比列。这里我只实现了第二种方式,所以只对第二种做一些讲解。

读到这里,这篇“如何使用html canvas实现网页截图并嵌入到PDF”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网html频道。

--结束END--

本文标题: 如何使用html canvas实现网页截图并嵌入到PDF

本文链接: https://www.lsjlt.com/news/93903.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作