国产探花免费观看_亚洲丰满少妇自慰呻吟_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)的思路詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 防城港市| 延川县| 兰州市| 水城县| 迭部县| 小金县| 铁力市| 邵阳市| 大渡口区| 如皋市| 吉水县| 鸡泽县| 西乌珠穆沁旗| 平塘县| 宁国市| 临江市| 西安市| 诸城市| 南汇区| 永寿县| 栾城县| 万宁市| 南川市| 仁布县| 扶余县| 麻城市| 凭祥市| 城步| 青铜峡市| 禹州市| 宝丰县| 保靖县| 鄂托克前旗| 东辽县| 微博| 扶风县| 那曲县| 大同市| 长兴县| 富源县| 肥城市|