另辟蹊径之--解决Jasperreport的web打印的一种另类方法

相信接触过ireport报表的程序猿,大多都会被其报表打印功能所困扰,虽然jasperreport有自带的japserPrint的打印功能,代码如下


JasperPrint jasperPrint = getJasperPrint(request, JREPORT_RELATIVE_DIR+__report, null, __report) ;
JasperPrintManager.printReport(jasperPrint,true);


但可惜的是这段代码调用的却是我们服务端的打印机,与我们所需要的功能并不相符。

那要怎么才能实现客户端的打印功能呢,网上大致有两种做法,一种是重写jasperreport用来打印的jasperPrint小程序,另一种就是利用jatoolsprinter控件来打印jasperreport的报表

但是这两种方法,都需要下载额外的东西到客户端,这是比较不足的一点,此外,这两种方法也都要修改到源代码,这对于我这种初生牛犊的娃来说,门槛也是不低的呀,于是我就自己捉摸着,要怎么解决这个难题。

之前做其他项目的时候,也有遇到要打印的,那时一直用的都是jquery的打印插件,觉得简单明了,但是以前做的那些,内容都是显示在页面上的某个div中的了,直接调用jquery的打印方法就行了,可是这次怎么办,因为要显示的内容采用了分页的显示方法,所以如果只是简单的调用jquery的打印方法,那也无法将所有的内容进行打印。

后来我就想,因为在显示分页报表的时候,我已经在服务端生成好了html文件,那么,我也可以将生成的html文件放在页面在某个div中,然后将其内容进行隐藏,在要打印的时候,就对此div进行打印便可。因为引入的文件是静态的html文件,因此所造成的额外开销并不多,经过试验证明,我这个偷懒的方法是行得通的^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值