国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue網頁html轉換PDF(最低兼容ie10)的思路詳解

2019-11-19 15:41:50
字體:
來源:轉載
供稿:網友

HTML轉PDF:

1.頁面底層實現――Vue:最低兼容ie10  

2.實現思路:

  1> 使用html2canvas.js將網頁轉換為圖片

  2> 使用jsPdf.debug.js將canvas生成的圖片轉換為pdf文件

具體實現:

  要這樣實現首先要引入兩個插件:

    html2canvas.js

    jsPdf.debug.js

注:

  因為ie10在canvas截圖時候會出現部分樣式丟失的情況,所以在代碼中有部分修改了頁面的樣式

  所以建議在做截圖的時候,將頁面代碼復制一份到隱藏域,在隱藏域里面做修改,這樣就不會修改頁面原有樣式了

  如果大家有更好的方法,歡迎提議

下面上代碼:

<script type="text/ecmascript-6">import co from 'co'import html2Canvas from '../html2canvas'import JsPDF from '../jsPdf.debug'export default { title: '用戶信息', data () {  return {} }, methods: {   // 核心代碼  printOut () {    // 獲取需要打印的區域,以div為單位,此處使用的是vue的選擇器   let pdfDom = document.querySelector('#pdf-wrap')    // 因為在ie10下,會出現input樣式丟失的情況,所以在此處清楚input的標簽的邊框   let arrnode = pdfDom.querySelectorAll('input')   for (var i = 0; i < arrnode.length; i++) {    arrnode[i].style.border = 'hidden'   }    // 設置背景色   pdfDom.style.background = '#FFFFFF'   let _this = this   html2Canvas(pdfDom, {    allowTaint: true, taintTest: false,    onrendered: function (canvas) {      // 開始canvas截圖      // 開始準備工作     let contentWidth = canvas.width     let contentHeight = canvas.height     let pageHeight = contentWidth / 592.28 * 841.89     let leftHeight = contentHeight     let position = 0     let imgWidth = 595.28     let imgHeight = 592.28 / contentWidth * contentHeight      // 此處圖片格式可以是PNG,也可是JPEG,注意:需要考慮Browser支持的圖片格式     let pageData = canvas.toDataURL('image/PNG', 1)     pdfDom.style.display = 'none'      // 開始將圖片轉換為PDF      // 設置紙張大小,方向     let PDF = new JsPDF('', 'pt', 'a4')     if (leftHeight < pageHeight) {      PDF.addImage(pageData, 'PNG', 0, 0, imgWidth, imgHeight)     } else {      while (leftHeight > 0) {       PDF.addImage(pageData, 'PNG', 0, position, imgWidth, imgHeight)       leftHeight -= pageHeight       position -= 841.89       if (leftHeight > 0) {        PDF.addPage()       }      }     }      // 保存PDF     PDF.save(_this.userInfo.card_id + '-' + _this.userInfo.user_name + '.pdf')    }   })   html2Canvas()  } }, ready () { }}</script>

總結

以上所述是小編給大家介紹的Vue網頁html轉換PDF(最低兼容ie10)的思路詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合山市| 承德县| 汝阳县| 大竹县| 抚州市| 咸丰县| 太谷县| 临清市| 江城| 陆河县| 丹棱县| 社会| 稻城县| 武穴市| 文昌市| 北安市| 温州市| 乌兰察布市| 佳木斯市| 肇源县| 交城县| 年辖:市辖区| 辰溪县| 德阳市| 龙南县| 湟源县| 怀仁县| 孟村| 昔阳县| 河间市| 乌鲁木齐市| 夏津县| 东莞市| 石渠县| 长丰县| 邢台县| 福清市| 色达县| 甘南县| 新龙县| 新平|