如何将前端页面PDF导出

第一步在Vue中需要先下载工具

下载命令·

npm install html2canvas jspdf --save

第二步进行全局部署
import htmlToPdf from '@/excel/htmlToPdf'
Vue.use(htmlToPdf)
第三步就可以直接在需要的地方使用了

直接在按钮中调用getPdf()方法

<el-button type="primary" @click="getPdf()">打印</el-button>

但是这个方法有一个不好的地方,就是上边距得空出来80px,才能打印,不然会出现打印不上的,打印的东西需要放在一个div里,取一个id=pdfDom,也不用其他的操作

需要设计上面空白距离,需要在htmlToPdf.js文件设置参数值将对Y轴进行裁切的值改为负值。

html2Canvas(document.querySelector('#pdfDom'), {
    allowTaint: true,
    taintTest: false,
    useCORS: true,
    y:-30, // 对Y轴进行裁切
    // width:1200,
    // height:5000,
    dpi: window.devicePixelRatio * 10, //将分辨率提高到特定的DPI 提高四倍
    scale: 10 //按比例增加分辨率
导出结果如下

这个方法是先将页面转化为图片,在转化为pdf的,所以打印会有非常淡的印记       
如果需要自定义导出文件的名字的话,只需要添加
return {htmlTitle:''}就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值