润乾报表 PDF 批量打印:实现空白报表跳过方案
需求:
在 Web 报表应用中,用户经常需要一次性打印多张相关报表。润乾报表本身提供了 pdf 批量打印模版,即 demo/reportJsp 目录下的 pdfBatchPrint.jsp。但是,当某些报表基于特定参数查询无结果时,打印的报表会是空表格或空白表,这时要如何实现跳过空白报表呢?
解决方法:
修改 pdfBatchPrint.jsp,并更新最新 report.jar(20250521 日期之后的 jar)
找到超链接 action 是 45 的 url 添加参数 &skipErrorReport=1

PDF 批量打印机制
润乾报表支持通过特定的 URL 参数实现多报表的批量 PDF 打印。核心参数格式如下:
report={报表 1}{报表 2}{报表 3( 参数 1=value1; 参数 2=value2)}
示例 URL 为:
不带参数:
http://localhost:6868/demo/reportJsp/pdfBatchPrint.jsp?report={test1.rpx}{test2.rpx}
带参数:
http://localhost:6868/demo/reportJsp/pdfBatchPrint.jsp?report={test1.rpx}{test2.rpx(arg1=1;arg2=2)}
其中:
{} 用于包裹单张报表定义
() 用于传递报表参数,多个参数用分号分隔
所有特殊符号({}、())在 URL 中需要进行编码:%7B、%7D、%28、%29
报表测试:
1、制作报表
下图为 test.rpx 报表
5 行数据全部根据 arg1 参数做可视行的判断,arg1 为空隐藏则隐藏行。

下图为 test1.rpx 报表
不做任何隐藏行的判断,展示明细数据。

2、保存报表
将 test.rpx 、test1.rpx 两个报表文件保存在 reprotFiles 目录下。
3、启动报表服务,访问 pdf 批量打印的 url:
http://localhost:6868/demo/reportJsp/pdfBatchPrint.jsp?report=%7D%7Btest.rpx%7D%7D%7Btest1.rpx%7D
4、预览结果:
因 test.rpx 报表 arg1 参数为空,所以全部行隐藏报表为空,则 pdf 预览界面只显示 test1.rpx 的数据。

