vue 打印

vue-print-nb插件使用

vue 打印 vue-print-nb - 简书

1、@media print 内样式无效问题

style上不能加scoped;

2、分页问题

A4纸的长宽:210mm×297mm,css中支持mm单位,可以直接使用,设置高度为297mm时,有时候会多出空白页,一直没搞明白为啥,于是我写的一页296.8mm,这样显示的比较好。

使用 page-break-before: always 在元素前始终插入分页符,避免多页时元素错位。

还有一些定位元素的位置靠下也会导致出现空白页,打印时不显示的元素最好删掉。

3、vue-print-nb打印 插件样式显示问题

vue 打印_第1张图片

vue-print-nb的打印逻辑是创建一个iframe,将我们要打印的节点加进去,之后再onload的时候触发打印,但是这个时候富文本的插件内容还没有加载出来,导致打印不对。

可以先预览再打印从而避免问题,或者不用插件直接自己写iframe然后打印。



window.document.querySelectorAll('iframe')[0].contentWindow.print();

 

你可能感兴趣的:(vue.js,前端,javascript)