目的:用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里面。
分享到:
相关推荐
在本主题中,我们将探讨如何利用JasperReport进行客户端打印,特别是通过Applet的方式。 首先,我们需要理解JasperReport的核心概念。JasperReport允许用户使用JRXML文件设计报告模板,这个模板包含了布局、数据源...
JasperReport 打印 导出PDF XLS 这是我们公司架构师搭的一套架构,封装好了打印 导出功能,其他的报表只要实现这个机制就能完成功能了,该抽象的都抽象出来了,只有一个view.jsp页面。
### iReport + JasperReport 客户端打印与数字签名详解 #### 一、概述 iReport 是一个用于设计 JasperReports 报告模板的图形界面工具,而 JasperReports 则是一款非常流行的 Java 报告工具,它能够从各种数据源...
总的来说,"jasperreport+applet客户端打印demo"展示了如何结合JasperReport的强大报表生成能力和Java Applet的本地交互能力,实现一个灵活且安全的客户端打印解决方案。虽然Applet可能不再是首选技术,但其背后的...
客户端打印PDF以及服务器打印是Java开发中常见的需求,特别是当涉及到报表生成时,JasperReport是一个广泛使用的开源库。本文将深入探讨如何使用JasperReport进行客户端和服务器端的PDF打印。 首先,JasperReport是...
**JasperReports -- 客户端打印(WEB网页打印)** JasperReports 是一个功能强大的开源报告生成库,广泛应用于Java应用程序中,用于创建复杂的报表和图表。它支持多种数据源,包括数据库查询、XML、CSV等,并且可以...
**JasperReport与Servlet在Web应用中的打印预览** JasperReport是一款强大的开源报表工具,它允许开发者在Java应用程序、Web应用甚至独立的Java应用程序中创建复杂的报告。Servlet是Java Web开发中的一个重要组件,...
详细介绍了如何利用ireport+jasperreport柱状图例子,并附有代码,参照实例,手把手教你用该解决方案作柱状图。
总结起来,JasperReport的后台打印实例展示了如何在Windows和Linux系统下,通过Java代码调用JasperReport服务进行报表的后台打印,无需依赖特定的操作系统组件,实现了跨平台的兼容性。理解JasperReport的工作流程,...
标题中的“jasperreport生成pdf实现下载与打印”是指使用JasperReports库来创建PDF报告,并提供下载和打印功能。JasperReports是一个开源的Java报表工具,它允许开发者设计、生成和导出各种类型的报表,包括PDF、...
Struts2和JasperReport是Java开发中两个重要的框架,它们在企业级应用开发中扮演着关键角色。Struts2是一个强大的MVC框架,用于构建动态、数据驱动的Web应用程序,而JasperReport则是一个开源的报表工具,可以生成...
**jasperReport测试例子** jasperReport是一款强大的开源报表工具,用于生成静态和动态的报表。这个测试例子是关于如何使用jasperReport进行报表设计和开发的实践代码和学习资源集合。通过这个测试项目,我们可以...
一个使用SSH集成JasperReport的例子,支持预览、导出Excel、导出Pdf。 部署到Tomcat服务器可运行,该例子中采用了一个报表框架,框架的类图结构可参考压缩包中的“报表设计.jpg”。 希望对您有帮助。
JasperReport的设计是基于一个名为`.jrxml`的XML文件,这个文件包含了报表的所有布局和数据源定义。在设计报表时,iReport提供了一个WYSIWYG(所见即所得)的编辑器,可以添加表格、文本、图像等各种元素,并设置...
**JasperReport详解与实战应用** JasperReport是一款强大的开源报表工具,专为Java环境设计,用于生成静态和动态的报告。它支持多种数据源,包括数据库、CSV文件、XML数据等,能够输出多种格式,如PDF、HTML、Excel...
标题、描述和标签提示我们,这个例子将围绕如何使用JasperReport创建并集成子报表展开。 首先,我们要理解JasperReport的基本工作流程。设计报表通常在iReport或Jaspersoft Studio这样的可视化工具中完成,这些工具...
在本场景中,我们关注的是JasperReports 5.6.0版本与Java Applet结合来实现客户端打印的功能。Applet是Java的一个古老特性,允许在Web浏览器中运行小型Java程序,为用户提供交互性。 首先,`jasperreports-5.6.0`是...
标题“jasperReport+struts2+jatoolsPrinter打印”涉及的是一个集成开发场景,主要集中在Java企业级应用中的报表生成和打印功能。jasperReport是一个强大的开源报表工具,能够帮助开发者创建复杂的报告设计;Struts2...