报表工具打印技术闭坑指南
报表打印,看似是一个简单的话题,所有报表工具都能支持,但想把它做好做全面,却并不简单,功能不全面的,就会有很多坑在后面等着用户,会带来很多困扰。
我们先从打印方式来看。
很多人会认为,web 报表都是用浏览器看的,浏览器直接就有打印功能
用浏览器打印不就完了吗?报表工具根本不需要提供打印功能了。
答案是不行,几乎没有专业的报表工具直接用浏览器的打印功能,因为浏览器很难精准控制打印效果,比如,不能精确分页,不能准确对齐边距等,会造成打印效果的偏差。
专业报表工具常见的打印方式有这四种
还不是任选一种,而是要四种都有,因为只有一种是不够的。比如
Applet 打印,它的优点是打印精准,速度快,但是缺点也很多,客户端需要安装 JRE,浏览器为了安全性要对 applet 签名,现在很多浏览器都禁用 java 插件了,只有 ie 还能用,所以,如果报表工具只支持 applet 打印,那就有很多场景用不了。
Flash 打印,也可以精准打印,速度也快,但它自身的安全沙箱机制,不允许传递纸张信息,就会造成一个问题:在打印前需要手动调整纸张。
PDF 打印是用 Adobe 打印的,前端没有自编代码,好处是彻底没有安全问题了,不用担心服务器端的恶意代码攻击本地电脑,但缺点是无法进行复杂的逻辑控制,比如打印界面进行打印缩放、清除图层、镜像打印、分栏等。
本地打印,功能基本与 applet 打印相当,打印精准,速度快,而且不受浏览器限制。但是需要在客户端安装厂商自己的打印软件。
这四种方式,各有优缺点,各有适用的场景,有的需要用到其中几种,有的必须用某一种,如果报表工具没有全提供,那有些场景可能就打印不了了。
除了不同场景需要的打印方式不同外,有时候还会有一些特殊的打印需求,比如这些
套打就是打印一些有严格样式的单据,把数据打印到固定格式的对应地方,比如发票或者快递单。
批量打印,是点一次打印,同时打印出多张报表。
直接打印,也叫静默打印,就是不弹出打印预览框,点了按钮直接打印,简化步骤,快速打印。
流式打印,一些数据量超大的报表,有时候也需要打印,普通的打印方式会造成卡顿甚至宕机,要专门的流式打印才可以保障大报表顺利打印完成。
还有这些按比例缩放报表然后打印到不同纸张。
记录某个报表的打印次数,用于提醒用户。
不同的报表默认选择不同的打印机,不用每次都选择。
打印完成后再做一些关闭页面之类的后续操作,也都是正常的,常见的打印需求。如果报表工具不提供,那就耽误事了。
而要做到这样全面周祥,没有多年的经验积累是做不到的,像润乾报表这样多年的老牌工具,见的多,用的多,这些功能点全部都实现了。
而且,润乾报表甚至连 Echarts 统计图的打印都提供了,而其他工具是很少支持这个功能的。
顺便说一句,因为采用了互联网营销,功能全面的润乾报表售价却很低廉,只要一万一套,三万就能买断,妥妥的性价比之王。
看似不起眼的报表打印,居然也有这么多弯弯绕,只要有一点考虑不到,就会影响用户使用了,以后大家选工具的时候就得注意了。