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

首頁 > 編程 > JavaScript > 正文

Vue導出頁面為PDF格式的實現思路

2019-11-19 13:22:42
字體:
來源:轉載
供稿:網友

通過網上的查閱以后,說一下思路.就是將頁面轉換成圖片格式.然后通過圖片的base64碼.生成PDF..看了他們的文章,做了如下整理..

說起來很容易,那么具體怎么實現呢?

1 、我們要添加兩個模塊

第一個.將頁面html轉換成圖片

npm install --save html2canvas 

第二個.將圖片生成pdf

npm install jspdf --save

2、定義全局函數..創建一個htmlToPdf.js文件在指定位置.我個人習慣放在('src/components/utils/htmlToPdf')

// 導出頁面為PDF格式import html2Canvas from 'html2canvas'import JsPDF from 'jspdf'export default{ install (Vue, options) { Vue.prototype.getPdf = function () {  var title = this.htmlTitle  html2Canvas(document.querySelector('#pdfDom'), {  allowTaint: true  }).then(function (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  let pageData = canvas.toDataURL('image/jpeg', 1.0)  let PDF = new JsPDF('', 'pt', 'a4')  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   if (leftHeight > 0) {    PDF.addPage()   }   }  }  PDF.save(title + '.pdf')  }  ) } }}

3、在main.js中使用我們定義的函數文件。

import htmlToPdf from '@/components/utils/htmlToPdf'Vue.use(htmlToPdf)

4、在需要的導出的頁面..調用我們的getPdf方法即可.

Html

<div class="row" id="pdfDom" style="padding-top: 55px;background-color:#fff;"> //給自己需要導出的ui部分.定義id為"pdfDom".此部分將就是pdf顯示的部分</div><button type="button" class="btn btn-primary"v-on:click="getPdf()">導出PDF</button>

js

export default { data () {  return {  htmlTitle: '頁面導出PDF文件名'  } } }

總結

以上所述是小編給大家介紹的Vue導出頁面為PDF格式的實現思路,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新干县| 文山县| 张家界市| 扶风县| 栾城县| 绥宁县| 古丈县| 苏尼特右旗| 扬中市| 静安区| 积石山| 馆陶县| 鄱阳县| 定襄县| 诏安县| 台北市| 乌拉特中旗| 玉溪市| 茶陵县| 凌海市| 平塘县| 波密县| 枣阳市| 三都| 铅山县| 郁南县| 紫阳县| 诏安县| 洪洞县| 西乌珠穆沁旗| 从化市| 洪湖市| 黄冈市| 浦江县| 垣曲县| 枣阳市| 富顺县| 万山特区| 元江| 双鸭山市| 武功县|