本文试图对市面上流行的纯java实现的web报表工具,jasperreport 、 stylereport 、杰表、润乾报表、快逸、finererport为例,分析各报表工具采用的web打印技术的异同、优劣、及对用户需求的适应性,供大家参考。
打印是报表工具的基本功能之一,有些报表工具就是从一个专门的打印程序中发展而来,如用友华表。因为想当然地简单,所以,在报表工具选型时用户常常忽略这个问题,特别是有些报表工具厂商,明知自己的打印方案在满足某些需求时,存在缺陷,但没有尽明确告知义务,而事先做好有关打印方面的文档。我曾不至一次地听说,有些开发商选用的报表工具,其打印功能不能满足需求,不得不另外找打印工具的事情,实在是吃尽苦头。
报表打印在c/s时代,确实非常简单,vb,vc,Delphi,pb,都有很好用的打印api,有的甚至用报表控件方式,搞定打印更是分分秒的事情,但今天是b/s的天下,报表都是在网页浏览器中显示,但当今的浏览器打印功能一般非常弱(谁让你叫他“浏览”器呢?“浏览”就是让你用眼睛看,“打印”属于兼职),要做到精确分页打印,几乎不可能,所以当前的报表工具,一般不会让你使用浏览器的打印菜单来打印报表,都有自己的解决方案,这下可好,各报表工具厂商由是乎,八仙过海,各显神通,各家都说自己的好,对于web打印了解不深的客户,总有雾里看花的感觉。
归纳来说,当今java报表工具采用的打印技术不外乎三类:Applet打印、导出成pdf/excel打印、控件打印。用户选用的重点是:尽量选择插件小的