关于iReport报表的分页

问题:二手车认证系统的检测报告采用iReport开发,开发者自定义了一张超级长的纸张,导致打印时自动缩放到了一张A4纸上。需要修改使之能够合理的分页打印,这是来到新公司的第一个任务。

Image
解决方案一:

1、iReport报表自定义页面,需要分页的地方使用分页符进行分页
2、生成PDF报表

3、按照如下说明进行打印

Image


采用这种方式,显示出的PDF报表有大片空白,但是打印是正常的。查看PDF时每页下方大片的空白导致用户体验极差,不采用此方式。

方案二:

还是使用“自定义”纸张,采用“海报”方式打印,PDF会自动把一张很长的页面的内容拆分到多个A4页面上,需要仔细调整每页的内容。

Image


注:得用IE浏览器,360、谷歌等浏览器需要先另存到本地,然后再使用Adobe Reader自己提供的打印功能。



教客户使用时又发现问题了,因为是使用 Image开发和调试的,但是到了实际的打印机上分页效果不一样。
方案三:

把每一页的内容单独放到一个子报表上,然后父表去调用6个子报表。每个子表前放一个分页符。这样终于完美解决问题了。














iReport分页打印开发调试过程中遇到的坑总结如下:

1、如果在子表中使用 Text Field 控件直接显示参数,那么不要放在 Detail 区,显示不出来(如果也同时显示从数据库中查询出的表数据,那么 Detail 区应该能显示出来);要放在 Page Header 或者 Title 区。

2、Field放在Detail区,也可以在 Page Header 区。

3、报表的 When No Da ta 属性,选择“All Sections,No Detail”。

4、在[窗口]-[组件面板]中可以找回组件面板。

5、主表的数据是从Java代码中通过JSON格式传进去的,主表中定义了200来个Field,如果需要在子表中使用这些数据,那么需要在子表中定义参数,然后在主表 Subreport 控件的 Parameters 属性中对子表参数赋值。

Image1



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
 介绍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文件复制到应用的CLASSPATH路径下。如果是web应用,将改文件复制到Web应用的WEB-INF/lib路径下。不过JasperReports框架生成其他格式的文档还依赖另外一些开源项目,如果生成PDF文档依赖iText项目,将JasperReports的lib下的itext-1.3.1.jar

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值