不得不说的事-打印

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-31 08:25   28   0

通常后台系统都会有打印导出的功能,在前端,打印调用的是window.print()调用打印机,而我们又不想为了打印而把整个系统的body内容给替换掉。

方案一:通过离屏iframe实现不跳页面,不替换原本内容打印。

在html中写入iframe标签,使其定位到不可见的位置,然后获取对应的dom,替换掉contentWindow.body.innerHTML = 需要打印的内容,打印内容的样式需要自己加入到内容中,通过行内样式或者用style标签包裹,如果有系统的css文件可以将其转化为字符串用style引入。不用离屏的话就需要控制iframe的显示隐藏,在调用print之前显示,调用之后隐藏,print是同步操作,所以可以在print后写入对应操作。

方案二:通过window.print.call(dom)来实现打印,print接口必须是窗口类型才能调用。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP