为了账号安全,请及时绑定邮箱和手机立即绑定

怎么结合html2canvas.js 和jspdf.js 给转化成pdf的网页加水印呢

怎么结合html2canvas.js 和jspdf.js 给转化成pdf的网页加水印呢

侃侃尔雅 2019-03-14 17:19:02
下面是我通过html2canvas.js 和jspdf.js 把网页转换为pdf的代码pdf(){  let that = this  this.loading = false  html2Canvas(this.$refs.pictureData).then(canvas => {  var contentWidth = canvas.width;  var contentHeight = canvas.height;  //一页pdf显示html页面生成的canvas高度;  var pageHeight = contentWidth / 592.28 * 841.89;  //未生成pdf的html页面高度  var leftHeight = contentHeight;  //页面偏移  var position = 0;  //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高  var imgWidth = 595.28;  var imgHeight = 592.28/contentWidth * contentHeight;  var pageData = canvas.toDataURL('image/jpeg', 1.0);  // 加水印-----------------  console.log('水印')  console.log(typeof pageData)  // 加水印-----------------  var pdf = new jsPDF('', 'pt', 'a4');  //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89)  //当内容未超过pdf一页显示的范围,无需分页  if (leftHeight < pageHeight) {  pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight );  } else {      while(leftHeight > 0) {          pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)          leftHeight -= pageHeight;          position -= 841.89;          //避免添加空白页          if(leftHeight > 0) {            pdf.addPage();          }      }  }  pdf.save('content.pdf');  this.loading = true  });
查看完整描述

3 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

利用canvas可以加水印的啊 drawImage


查看完整回答
反对 回复 2019-03-27
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

这个应该是下载的那种效果,有没有直接给定一个路径,然后把pdf文件保存在该路径下的方法呢?我试着重写jspdf.js中的源码,可是没有效果


查看完整回答
反对 回复 2019-03-27
  • 3 回答
  • 0 关注
  • 2447 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号