• 关于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 Data 属性,选择“All Sections,No Detail”。

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

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

    Image1



    菊子曰 本文用菊子曰发布
  • 相关阅读:
    HTML5结构
    HTML5新增的非主体元素header元素、footer元素、hgroup元素、adress元素
    CF GYM 100703G Game of numbers
    CF GYM 100703I Endeavor for perfection
    CF GYM 100703K Word order
    CF GYM 100703L Many questions
    CF GYM 100703M It's complicate
    HDU 5313 Bipartite Graph
    CF 560e Gerald and Giant Chess
    POJ 2479 Maximum sum
  • 原文地址:https://www.cnblogs.com/sdsunjing/p/5019604.html
Copyright © 2020-2023  润新知