Jasperreport 客户端打印例子

   目的:用java实现数据的批量打印。

 

   需求:例如,满足用户一个查询操作结果出来50条记录,要求每一条记录的信息打印在一页上面,这就需要打印50页。

 

   原理:把每一条记录(用户对象吧)依次添加到List对象里,把List对象作为一个数据源对象传递给Jasperreport对象,Jasperreport在根据用户的ID来作分组,即设置Jasperreport每一组信息在一个新的页面打印,这样就依次批量打印了。

 

   不足:客户端需要安装jre(java运行时环境)来支持打印操作。

   为了解除打印时频繁的打印提示,所以修改了客户端jre下的java.policy文件,该文件位置%jre_home%\jre6\lib\security\java.policy ,这样打印的时候就不在有烦人的提示了。

 

文件内容如下,其中红色字体为新增内容。


// Standard extensions get all permissions by default

grant codeBase "file:${{java.ext.dirs}}/*" {
 permission java.security.AllPermission;
};

// default permissions granted to all domains

grant {
 // Allows any thread to stop itself using the java.lang.Thread.stop()
 // method that takes no argument.
 // Note that this permission is granted by default only to remain
 // backwards compatible.
 // It is strongly recommended that you either remove this permission
 // from this policy file or further restrict it to code sources
 // that you specify, because Thread.stop() is potentially unsafe.
 // See "http://java.sun.com/notes" for more information.
 permission java.lang.RuntimePermission "stopThread";

 // allows anyone to listen on un-privileged ports
 permission java.net.SocketPermission "localhost:1024-", "listen";

 // "standard" properies that can be read by anyone
 permission java.security.AllPermission;

 permission java.util.PropertyPermission "java.version", "read";
 permission java.util.PropertyPermission "java.vendor", "read";
 permission java.util.PropertyPermission "java.vendor.url", "read";
 permission java.util.PropertyPermission "java.class.version", "read";
 permission java.util.PropertyPermission "os.name", "read";
 permission java.util.PropertyPermission "os.version", "read";
 permission java.util.PropertyPermission "os.arch", "read";
 permission java.util.PropertyPermission "file.separator", "read";
 permission java.util.PropertyPermission "path.separator", "read";
 permission java.util.PropertyPermission "line.separator", "read";

 permission java.util.PropertyPermission "java.specification.version", "read";
 permission java.util.PropertyPermission "java.specification.vendor", "read";
 permission java.util.PropertyPermission "java.specification.name", "read";

 permission java.util.PropertyPermission "java.vm.specification.version", "read";
 permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
 permission java.util.PropertyPermission "java.vm.specification.name", "read";
 permission java.util.PropertyPermission "java.vm.version", "read";
 permission java.util.PropertyPermission "java.vm.vendor", "read";
 permission java.util.PropertyPermission "java.vm.name", "read";
};

 

说明:

附件中是例子源码,可以放在Tomcat里面编译并运行。

1、由于JasperReport\WebRoot\print\applets\jre-6u20-windows-i586.exe过于大,所以没有上传,可到java官方网站自行下载。

2、index.jap中提到的PrintApplet.class已经在JasperReport\WebRoot\print\applets\mytest.jar里面。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值