前端实现打印功能可导出PDF

本文介绍了如何在前端项目中使用print-js插件来实现在Vue.js应用中进行打印功能,包括导出PDF。步骤包括安装插件、引用、设置打印内容ID,以及详细说明了打印函数的配置,如printable、type、properties等参数的使用,以实现自定义打印样式和忽略某些元素的功能。

1、首先需要安装 print-js 插件

npm install print-js --save

2、在需要用的组件中引用

import print from 'print-js'

 3、在需要打印内容的地方设置id

4、 定义一个函数 点击打印时触发此函数

<Button loading={this.confirmLoading} onClick={this.ok}>打印凭证</Button>

5、函数具体实现

const ok = () => {
      confirmLoading.value = true;   //loading 效果开启
      print({
        printable: "printVoucherDetail",  //指定打印区域
        type: "html",  //type:可以是 html 、pdf、 json 等
        targetStyles: ["*"],   // 这样设置继承了页面要打印元素原有的css属性
           //传入自定义样式的字符串,使用在要打印的html页面 也就是纸上的样子。
        style: "@page{size:auto;margin:1cm 1cm 0cm 1cm;}@media print{font-size: 28px;}",
      })
        //设置定时器5秒后关闭loading
      setTimeout(() => { 
        confirmLoading.value = false
      }, 5000)
    }

print其他设置属性

printable:要打印的id。

type:可以是 html 、pdf、 json 等。

properties:是打印json时所需要的数据属性。

gridHeaderStyle和gridStyle都是打印json时可选的样式。

repeatTableHeader:在打印JSON数据时使用。设置为时false,数据表标题将仅在第一页显示。

scanStyles:设置为false时,库将不处理应用于正在打印的html的样式。使用css参数时很有用。

targetStyles: [’*’],这样设置继承了页面要打印元素原有的css属性。

style:传入自定义样式的字符串,使用在要打印的html页面 也就是纸上的样子。

ignoreElements:传入要打印的div中的子元素id,使其不打印。非常好用
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值