PDF报表技术文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内部技术文档

业务层应用技术----- PDF报表技术

PDF报表技术

●介绍JasperReports包结构,路径等。

●介绍iReport

●总的开发流程

● 1.1 iReport使用说明

● 1.2 简单的报表制作

● 1.3 动态报表制作

1.3.1 给报表传递参数

1.3.2 带查询的报表制作

1.3.3 动态设置查询条件的查询报表制作

● 1.4 如何插入图片

1.4.1显示本地磁盘上的图片

1.4.2显示数据库中的图片

● 1.5 JasperReports和struts2的结合

1.5.1 安装JasperReports插件

1.5.2 配置生成JasperReports报表的struts.xml配置文件

1.5.3 生成JasperReports报表

●附注

1.iReport中的分页控制:

2.iReport中变量的介绍

3.工作区介绍

4.分栏的设置

在企业级的web应用中,必须面临大量的报表问题,即将数据库中的数据形成报表并进行打印,在传统的开发中我们一般只能使用HTML页面生成报表。这样不仅开发人员花大量时间来设计HTML报表,而且不支持导出别的格式的报表。由于这种局限的存在,不能满足用户的需要,而JasperReports项目的出现解决了企业开发的这种困境。

JasperReports是一个强大的,灵活的报表生成工具,能够生成PDF,HTML,XML格式的报表。这个工具是开源的,我们可以免费的使用她,并且完全使用java写成,可以用在各种java应用程序中,包括java C/S应用、Web中应用生成报表。(她的文档是收费的)

当然了我们要生成PDF报表肯定使用JasperReports组件了。

JasperReports的开发是由一份XML格式的报表的文件开始的,设计好这个XML文件后,利用JasperReports的API进行编译,填充数据,导出或者浏览,这样可以生成多种格式的报表的文件。开发者只需提供一个XML格式的报表设计文件,而其他的细节以及底层的数据处理等对开发者来说是完全透明的。

JasperReports的使用:

首先,我们登录JasperReports的官方网站下载JasperReports的最新版本jasperreports-3.0.0。

JasperReports组件的文件结构:

build:存放的是JasperReports项目编译后生成的*.class文件。

demo:存放的是JasperReports项目的演示文件,我们可以参考该路径下的演示来学习JasperReports框架的使用。

dist:存放的是JasperReports项目的二进制JAR文件,还包括了JasperReports项目的API文档。

docs:存放的是两份XML文档,没有什么用。

lib:存放的是JasperReports项目编译和运行所需的JAR文件。

src:存放的是JasperReports项目的所有源文件。

为了在我们的项目中使用JasperReports项目,我们应该将dist路径下的jasperreports-3.0.0.jar文件复制到应用的CLASSPA TH路径下。如果是web应用,将改文件复制到Web应用的WEB-INF/lib路径下。不过JasperReports框架生成其他格式的文档还依赖另外一些开源项目,如果生成PDF文档依赖iText项目,将JasperReports的lib下的itext-1.3.1.jar

文件复制到系统的CLASSPA TH路径下;如果要生成Excel文件,则应将lib下的poi-3.0.1-FINAL-20070705.jar文件复制到系统的CLASSPA TH路径下。

光有这些还不够,如果你的CLASSPA TH路径下没有apache的commons组件的话,我们还得将commons组件的部分jar包放到我们的CLASSPA TH中有:commons-collections-2.1.jar,commons-logging-1.0.2.jar,commons-digester-1.7.jar, Commons-beanutils-1.7.jar.这些jar包在我们下载的JasperReports包中的lib路径下。此外还要一个eclipse提供的编译的jar包,在我们下载的JasperReports包中lib路径下有这个编译的jar包,jdt-compiler-3.1.1.jar。

我在简单说一下apache下的这个commons组件:commons组件就是一个开源的工具类的组合,集中解决了java 的涉及的各个方面。在某些方面比java se 提供的功能都强大。它的存在目的是创建和维护独立于其他框架和产品的组件。当然了这些包我们也可以单独使用,就想java Jdk一样作为我们项目的一部分,这样我们可以大大的缩短开发周期。

总之:我们应该在CLASSPA TH中必须要放8个jar包:commons的四个:(commons-collections,commons-logging,commons-beanutils,commons-digester),eclipse编译包(jdt-compiler),JasperReports包(jasperReports),生成pdf的包(iTex),我们肯定会打印中文,则还需要中文支持的包(iTextAsian包)。在itex的官方站点下载。

至此,所有的配置工作全部完成。

当我们成功的做了上述的工作,那么我们就可以在应用中使用JasperReports框架了。让我们一块体验她的魅力吧!

不过,在开发报表之前还得先说一下iReport工具:

我们要想开发一个报表必须先定义一个报表设计文件即一个特殊的XML文件,这份XML文件中包含了大量的JasperReports标签,我们没有必要在去了解JasperReports标签的详细含义。设计XML此文件是相当的繁琐的。即使设计一个简单的静态报表也要写上好多的代码,而且非常容易出错。好在有了iReport工具,iReport也是开源组织 中的一款免费软件,主要作用就是用可视化的方式设计生成JasperReport 所使用的报表格式文件,因为JasperReport 本身并未提供很好的可视化报表设计工具,iReport 的出现正好弥补了这个缺陷。因此现在我们就不用在亲自去设计那繁琐的又必须使用的XML文件了,使用iReport工具以所见即所得的方式来生成,这样大大的提高了工作效率。JasperReports和iReport结合起来使用,你会深深的被她们提供的功能所折服的!!

我们首先要在下载iReport的最新版本。(iReport-3.0.0.zip)。在压缩包解压后有一个iReport.exe 文件,双击即可运行iReport。

在详细介绍之前,先总体的说一下开发报表的流程,让大家在整体上有个认识:

1.开发人员开发报表设计文件,也就是定义一个*.jrxml文件(就是最开始的那个XML文件)。

2.使用JasperReports提供API中的JasperCompileManager类编译*.jrxml文件,编译后生成一个*.jasper文件。

3.使用JasperReports提供API中的JasperFillManager类填充编译后的*.jasper文件,填充后生成一个*.jrprint文件。

4.使用导出管理器(JasperExportManager)或者各种格式的文件导出器(JRXxxExporter)将*.jrprit文件导出成

各种格式的报表文件。也可以使用JRV iewer工具类来直接浏览报表。

开发流程图:

相关文档
最新文档