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

鍍金池/ 問(wèn)答/HTML5  網(wǎng)絡(luò)安全  HTML/ 使用html2canvas.js和jspdf.js把網(wǎng)頁(yè)轉(zhuǎn)換成 pdf 不清晰

使用html2canvas.js和jspdf.js把網(wǎng)頁(yè)轉(zhuǎn)換成 pdf 不清晰怎么解決

pdf(){

  let that = this
  this.loading = false
  html2Canvas(this.$refs.pictureData).then(canvas => {
  var contentWidth = canvas.width;
  var contentHeight = canvas.height;
  // 加水印
  console.log(canvas)
  var ctx=canvas.getContext("2d");
  ctx.rotate(Math.PI / 180 * 20);
  ctx.font="60px microsoft yahei";
  ctx.fillStyle = "rgba(255,255,255,1)"; 
  ctx.strokeText("棱鏡個(gè)人報(bào)告",250,50);
  // 加水印
  //一頁(yè)pdf顯示html頁(yè)面生成的canvas高度;
  var pageHeight = contentWidth / 592.28 * 841.89;
  //未生成pdf的html頁(yè)面高度
  var leftHeight = contentHeight;
  //頁(yè)面偏移
  var position = 0;
  //a4紙的尺寸[595.28,841.89],html頁(yè)面生成的canvas在pdf中圖片的寬高
  var imgWidth = 595.28;
  var imgHeight = 592.28/contentWidth * contentHeight;

  var pageData = canvas.toDataURL('image/jpeg', 1.0);
  var pdf = new jsPDF('', 'pt', 'a4');

  //有兩個(gè)高度需要區(qū)分,一個(gè)是html頁(yè)面的實(shí)際高度,和生成pdf的頁(yè)面高度(841.89)
  //當(dāng)內(nèi)容未超過(guò)pdf一頁(yè)顯示的范圍,無(wú)需分頁(yè)
  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;
          //避免添加空白頁(yè)
          if(leftHeight > 0) {
            pdf.addPage();
          }
      }
  }

  pdf.save('個(gè)人報(bào)告.pdf');
  this.loading = true
  });
回答
編輯回答
愚念
2017年7月10日 14:16