亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么結合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 關注
  • 2362 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號