前言
本文主要介绍了关于angular实现页面打印局部功能的相关内容,分享出来供大家参考,下面话不多说了,来一起看看详细的介绍吧。
场景
在页面显示的时候是分页现实的,当前页面只有10条数据,但是打印需要打印完整的100条数据。
并且在当前页面包含了表格之外的标题,菜单等其他元素。
后天api请求都需要带上token信息
前台页面跳转到打印页面后再跳回
1、通过缓存传递数据,
2、路由跳转到打印页面,
3、页面获取缓存数据,
4、调用浏览器打印方法,
5、操作完毕页面后退一步
调用打印页面
this.cach.setBylocal({key: key, value: data}); // 写入缓存 this.router.navigate([url, key]); // 路由跳转,缓存key值传递过去
打印页面
ngAfterViewInit() { const $qus = this.route.params.subscribe(q => { const key = q.key; if (key) { this._data = this.cach.getBylocal(key) ; this.cach.removeBylocal(key); setTimeout(() => { window.print(); history.go(-1); }, '20'); } }); }
在打印页面里自动处理了分页显示等问题。测试一页A4纸适合页面840px-1225px
打印文件里会自动添加页面标题和日期,下方会自动添加页面地址,不知道如何去掉
在后台生成pdf页面显示自带打印下载功能
1、后台生成PDF文件,返回二进制流。
2、在不需要token信息的情况下,并且支持get请求的,可以在浏览器中直接打开该地址。或者通过a标签来实现下载和页面显示。并实现打印功能。
3、需要token验证的情况下,使用blob类型来接收数据,并创建一个本地地址供浏览器访问,后面操作如第二步。
最新资源
- P1X3L《P1X3L》[FLAC/分轨][791.28MB]
- 茵达INDAHKUS《茵 the Blue》[320K/MP3][33.49M
- 茵达INDAHKUS《茵 the Blue》[FLAC/分轨][147.5
- 老虎鱼AnneClarkwithUllavanDaelenJustinCiuche
- 江玲2004-百合盛开2CD[歌林][WAV+CUE]
- 孙露《怕什么孤单3CD》深圳音像[WAV分轨]
- s14全球总决赛目前是什么结果 s14全球总决赛赛程
- s2TPA夺冠五人名单都有谁 tpa战队s2夺冠队员名单
- s13wbg战队成员都有谁 wbg战队s13成员名单一览
- 网友热议《幻兽帕鲁》停售、赔千万日元:那也赚麻