vue通过url打印html,vue 打印

附上 print.js 地址: print.js

1、注册插件

import Print from '@plugin/print'

Vue.use(Print)

1.1. HTML设置ref,可指定区域打印

打印内容

不要打印我

注意事项,需使用ref获取dom节点,若直接通过id或class获取,则webpack打包部署后打印内容为空。

1.2. 指定不打印区域

方法一. 添加no-print样式类

不要打印我

方法二. 自定义类名

不要打印我

this.$print(this.$ref.print,{'no-print':'.do-not-print-me-xxx'}) // 使用

1.3. 打印

this.$print(this.$refs.print) // 使用

2、当打印的内容包含 canvas

使用 print.js 打印需要将 canvas 转为 img, 下面是在使用时转换方法示例

canvasSwitchImg () {

let mainContent = this.$refs.print.$refs.mainContent

let canvas = mainContent.querySelectorAll('.canvas-pdf')

let box = mainContent.querySelectorAll('.pdf-box')

if (canvas.length > 0) {

for (let i = 0; i < canvas.length; i++) {

let img = document.createElement('img')

let url = canvas[i].toDataURL()

img.src = url

box[i].replaceChild(img, canvas[i])

}

}

}

打印

print () {

this.canvasReset()

this.$print(this.$refs.print.$refs.mainContent)

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值