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

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,使其不打印。非常好用
 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端实现导出PDF功能,可以使用一些第三方库或API来帮助实现。以下是一种常见的实现方式: 1. 使用jsPDF库:jsPDF是一个流行的JavaScript库,可以在前端生成PDF文件。你可以通过以下步骤来实现导出PDF功能: - 首先,在你的HTML文件中引入jsPDF库的脚本文件。 - 创建一个新的jsPDF实例:`var doc = new jsPDF();` - 使用jsPDF提供的方法来添加内容到PDF中,比如添加文本、图片、表格等。 - 最后,使用`doc.save('filename.pdf')`方法将PDF保存到本地。 2. 使用html2pdf库:html2pdf是另一个常用的JavaScript库,可以将HTML元素转换为PDF文件。你可以按照以下步骤来实现导出PDF功能: - 首先,在你的HTML文件中引入html2pdf库的脚本文件。 - 选择要导出PDF的HTML元素,可以是整个页面或者特定的部分。 - 使用html2pdf提供的方法将选定的HTML元素转换为PDF文件。 - 最后,使用`pdf.save('filename.pdf')`方法将PDF保存到本地。 3. 使用第三方API:如果你不想在前端处理PDF生成的逻辑,你可以使用一些第三方的PDF生成API来实现导出PDF功能。这些API通常提供了简单的接口,你只需要将需要导出的内容发送给API,然后API会返回生成好的PDF文件。你可以搜索一些可靠的PDF生成API,并按照其提供的文档来使用。 请注意,以上提到的方法只是其中的一些常见实现方式,实际上还有其他的方法和工具可供选择。具体选择哪种方法取决于你的需求和技术栈。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值