html 转成 pdf 进行预览、下载、打印

html 页面转成 pdf,直接看代码;

参考地址: https://github.com/linwalker/render-html-to-pdf

 

给出代码 方便粘贴:

var downPdf = document.getElementById("pdfDownLoad"); // 点击的按钮
var pdfDom = document.getElementById('tableInfoShow') // 生成 pdf 的区域
downPdf.onclick = function () {
  html2canvas(pdfDom, {
  onrendered: function (canvas) {
    var contentWidth = canvas.width
    var contentHeight = canvas.height
    var pageHeight = contentWidth / 592.28 * 841.89
    var leftHeight = contentHeight
    var position = 0
 
    // var imgWidth = 595.28
    var imgWidth = 900
    var imgHeight = 900 / contentWidth * contentHeight
    var pageData2 = canvas.toDataURL('image/jpeg', 1.0)

    var PDF = new jsPDF('', 'pt', 'a4')
    //PDF.addImage(pageData2, 'JPEG', 0, 0, 595.28, 592.28/canvas.width * canvas.height );

    if (leftHeight < pageHeight) {
      PDF.addImage(pageData2, 'JPEG', -150, -5, imgWidth, imgHeight)
      // PDF.addImage(pageData2, 'JPEG', 0, 0, imgWidth, imgHeight)
    } else {
    while (leftHeight > 0) {
      PDF.addImage(pageData2, 'JPEG', 0, position, imgWidth, imgHeight)
      leftHeight -= pageHeight
      position -= 841.89
 
      //position -= 851
      if (leftHeight > 0) {
        PDF.addPage()
      }
    }
  }
    PDF.save('研究生考核表' + '.pdf');

    }
  })
}

 

posted @ 2019-02-19 10:00  傲气中华  阅读(1152)  评论(0编辑  收藏  举报