前言

最近的项目需要根据后台返回的pdf流实现pdf的预览、打印、和下载,刚开始去百度了各种插件,包括:print.js;pdf.js;vue-pdf等,但是无一例外,都没实现,可能是我的方式用错了。预览都预览不出来,或者打印时是空白。然后,后面发现其实pdf流是后台可以控制是下载还是预览的。。。所以这下载和预览由后台控制。前端只需要新开窗口就行。代码如下:

let page = window.open('url');//这个url其实是这个接口的地址,参数什么的使用get方式将其带上。如果设置了代理,就在前面加上你的代理就行,如:我设置代理是用了'/api';所以url=`/api/地址`
setTimeout(()=>{
	page.print(); //这一步就是在新窗口调出打印机
},500)

最后:对,就这几行代码就可以完成。。。
另外,感谢以下的帖子对新窗口打印的启发:如何在window.open()新开一个窗口后,执行新开窗口里的方法

Logo

前往低代码交流专区

更多推荐