最新技术资源(建议收藏) https://www.grapecity.com.cn/resources/ 在前端开发中,除了将数据呈现后,我们往往需要为用户提供,打印,导出等能力,导出是为了存档或是二次分析,而打印则因为很多单据需要打印出来作为主要的单据来进行下一环节的票据支撑, 而前端打印可以说是
在前端开发中,除了将数据呈现后,我们往往需要为用户提供打印、导出等能力。导出是为了存档或二次分析,而打印则因为很多单据需要打印出来作为主要的单据来进行下一环节的票据支撑。然而,前端打印却是一个非常让人头疼的问题。
为什么前端打印让人头疼呢?
因为前端打印强烈依赖于浏览器的打印预览页面,这会天然存在以下弊端:
每一次打印都需要弹出打印预览对话框,如果前端需要批量打印,那么意味着用户需要点击无数个关闭按钮才能实现批量打印。如果一次性打印几百张上千张的报表,将成为一场“噩梦”。
前端打印强烈依赖于浏览器,主流的思路是先将内容转换为PDF文件,再调用浏览器的打印功能进行打印。然而,生成PDF文件依赖于浏览器对于字体、边线等的处理,因此浏览器的异同直接导致打印出来的效果差距很大。有的边线加粗,有的1页数据打印出来呈现2页,这也是让开发者十分苦恼的事情。对于一些打印要求较高的行业,这就是灾难。
因此,如何在前端实现无预览打印,也就是用户点击打印之后直接就使用默认打印机打印出来。针对这个需求,我们验证了一个解决该问题的方案,本贴就来介绍该方案如何实现。