window.print()方法,打印窗口中内容带有水印不展示

添加水印的方法有很多,现在要实现打印后,也要带水印。

我试了三种添加水印的方法:(具体实现方法都能搜到)

1. 生成canvas定位在最上层(出bug了)

由于是定位,显示在打印窗口上就会覆盖内容。

2. 生成多个水印样式的div,追加在内容中(又出bug了)

如上图,打印方法是把html中的要打印的dom拿出来,这样就会把生成的多个水印元素也带出来,

就出现bug了,这些水印元素到打印窗口后,打印的文字会变小,造成打印多余。如下图:

奇怪的点就是加上打印元素后,打印的文字变小了,还没有找到原因是什么。

只能换添加水印的方法试试。

3. 还是生成canvas,但不是定位在最上层了,而是转化成背景图片(解决,无bug了)

一个小插曲,设置背景在打印窗口不显示,这样就看不到水印了,但可以解决!

@media print {
  #detail-content{
    -webkit-print-color-adjust: exact;
  }
}

给有水印背景的元素加上这样的样式就可以了!! 

以上。

大家有bug都能解决!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值