在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  網絡安全  HTML/ 怎么結合html2canvas.js 和jspdf.js 給轉化成pdf的網頁加

怎么結合html2canvas.js 和jspdf.js 給轉化成pdf的網頁加水印呢 ,有沒有什么api

下面是我通過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');

  //有兩個高度需要區(qū)分,一個是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
  });
回答
編輯回答
亮瞎她

利用canvas可以加水印的啊 drawImage

2017年6月13日 10:00
編輯回答
氕氘氚

請問樓主找到解決的方法了嗎?

2017年9月20日 22:14
編輯回答
乖乖噠

這個應該是下載的那種效果,有沒有直接給定一個路徑,然后把pdf文件保存在該路徑下的方法呢?我試著重寫jspdf.js中的源碼,可是沒有效果

2017年8月20日 04:51