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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:12:23
字體:
來源:轉載
供稿:網友

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)的思路詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 札达县| 兴安盟| 东乌珠穆沁旗| 安多县| 三台县| 海原县| 禹州市| 林周县| 屯门区| 修武县| 鄂伦春自治旗| 海丰县| 伊宁县| 惠安县| 祁东县| 榆中县| 寿阳县| 虎林市| 孟村| 关岭| 弥渡县| 潞西市| 天等县| 滨州市| 宣威市| 灵山县| 任丘市| 册亨县| 高安市| 南溪县| 博野县| 新密市| 宝鸡市| 新闻| 海盐县| 金华市| 昆明市| 金门县| 蓝山县| 托克逊县| 吴川市|