zoukankan      html  css  js  c++  java
  • 如何在报表打印时,将多页合为一页

    在这篇文章中,我想讲解一下ReportPage对象的PrintOnPreviousPage属性。它是如何起作用的?如果你有一份两页的报表,可以在第二页设置该属性为true,然后,如果第一页留有空余空间,则第二页的对象将部分或全部被移动到第一页。这样,你可以在打印报表时节省纸张,或者只是简单地改善报表的外观(如果页面上的空白让报表看上去不协调的话)。这些对于一般报表页面都很有用。但是,如果你使用了UnlimitedHeight或UnlimitedWidth属性,则必须遵循一定的限制才能连接页面:

    • 页面必须启用UnlimitedHeight或UnlimitedWidth属性;
    • 如果两个页面都启用了UnlimitedHeight属性,则它们必须具有相同的宽度,否则启用UnlimitedWidth属性;
    • 对于你想要与前一个页面合并的页面,必须启用PrintOnPreviousPage属性。

    如果你不遵守这些限制,则页面将不会合并。合并不限数量的页面的功能从v2017.1.13开始可用。

    现在我们来练习一下。创建一个包含两个页面的报表:

    报表打印 页面合并

    和:

    报表打印 页面合并

    页面宽度都是21厘米。这两个页面都启用了UnlimitedHeight属性。对于第二页,启用PrintOnPreviousPage属性。运行报表:

    报表打印 页面合并

    可以看到页面合二为一了。现在,将其中一个页面的工作表宽度从21更改为22:

    报表打印 页面合并

    页面没有合并。

    现在,为这两个页面启用UnlimitedWidth属性:

    报表打印 页面合并

    页面再次合并了。第三页的要求与第二页的要求相同。如果我们禁用第二页的PrintOnPreviousPage属性,并在第三页启用。这将只合并第二和第三页:

    报表打印 页面合并

    就是这样,现在你可以使用PrintOnPreviousPage属性和“无限”页面,将有多页的报表合为一页。

  • 相关阅读:
    Spring、Spring Boot 和 Spring Cloud 的关系
    Spring Boot 如何设置支持跨域请求?
    什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
    nginx配置域名,不要端口
    域名解析以及nginx服务器设置
    为什么使用nginx
    RabbitMQ下载与安装(window版)
    spring的@ComponentScan注解
    spring的@EnableScheduling注解
    日志切割: logrotate、python、shell实现
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/8349770.html
Copyright © 2011-2022 走看看