Jasperreport 生成 PDF之省纸模式

省纸模式顾名思义就是节省纸张,使用 Jasper 去生成 PDF 的时候如果进行分组打印的时候,一页 A4 纸只会打印一组数据。这种情况下,如果每组数据特别少,只有几行,一页 A4 纸张根本用不了,就会另起一页继续打印,这样下来就会造成纸张的浪费。基于这种场景的需求,提出了省纸模式。省纸模式下会自动进行分组数据的合并,使一页纸张尽可能放 多组数据。这种方式下 Jasper 会通过算法计算,如果下一组数据能够放在上一组数据之后,就会在上一组数据后面追加;如果通过计算发现下一组放不下就会另起一页。

⚠️需要注意:如果Jasper 不是分组生成 PDF,那么自然就没有所谓的省纸模式了~

下面介绍下如何进行省纸模式打印 PDF,前提条件是你已经掌握了分组打印。我们在编辑器打开jrxml 文件:

1.首先选中文件名称,在属性选项中将"忽略页码 "属性取消勾选;
2.其次选中 group header,在属性选项中勾选 reprint header on each page 和 keep together;同时取消勾选 start new page;并将 split type 设置成 stretch;

3.同理将group footer按照步骤 2 进行同样设置即可;

4.最后将 page footer 属性中的 split type 设置成 stretch;

最后则可以进行验证了,最后效果由于数据安全就不进行展示了~

相关推荐
YikNjy11 分钟前
string(c++)
java·服务器·c++
小江的记录本33 分钟前
【Spring AI】Spring AI中RAG误触发与系统提示词泄露问题解决方案(完整版+代码方案)
java·人工智能·spring boot·后端·python·spring·面试
勇往直前plus40 分钟前
Python 属性访问与操作全解析:内置函数、魔法方法与描述符深度指南
java·网络·python
Arenaschi1 小时前
关于GPT的版特点
java·网络·人工智能·windows·python·gpt
人道领域1 小时前
【LeetCode刷题日记】108.将有序数组转换为二叉搜索树
java·算法·leetcode
橙淮1 小时前
并发编程(五)
java
过期动态1 小时前
【LeetCode 热题 100】无重复字符的最长子串
java·数据结构·spring boot·算法·leetcode·职场和发展
Yeats_Liao1 小时前
好复杂的 IoT 世界:工业数据采集技术栈全景解析
java·物联网·struts
月落归舟1 小时前
Java线程小记
java·开发语言
西凉的悲伤1 小时前
Spring Cloud Gateway介绍
java·spring cloud·gateway