vue输出html生成pdf,Vue页面导出成PDF文件 Vue怎样将页面导出成PDF文件

想了解Vue怎样将页面导出成PDF文件的相关内容吗,JeffreytheCoder在本文为您仔细讲解Vue页面导出成PDF文件的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:vue页面导出成PDF文件,vue页面导出,vue页面导成PDF,下面大家一起来学习吧。

我在前端岗位上要实现个可视化图表页的PDF文件导出,在这里给大家分享下使用jsPDF和html2canvas包将Vue页面导出成PDF的方法。

1. 下载npm包

npm install html2canvas

npm install jspdf

2. 创建插件.js文件

Vue-cli项目的话是在./utils文件夹下,我在这里使用的nuxt框架,所以是在./plugins文件夹下。

import html2Canvas from 'html2canvas';

import JsPDF from 'jspdf';

export default {

install (Vue, options) {

Vue.prototype.getPdf = function () {

var title = this.pdfTitle; // 导出的pdf文件名

html2Canvas(document.querySelector(this.pdfSelector), { //导出的html元素

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');

})

}

}

}

上面的插件代码可以直接复制,然后在引用的Vue文件中填入自己的参数就可以了。

3. 修改引用页面

导出按钮调用getPdf方法,data填入参数。

保存为PDF

export default {

data() {

return {

// 填入导出的pdf文件名和html元素

pdfTitle: '因子评价报告',

pdfSelector: '#pdfPrint',

}

},

大概就是这样啦,非常地简单。

相关文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值