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;

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

相关推荐
白宇横流学长6 分钟前
停车场管理系统的设计与实现
java
Flittly7 分钟前
【SpringAIAlibaba新手村系列】(18)Agent 智能体与今日菜单应用
java·spring boot·agent
木井巳27 分钟前
【递归算法】目标和
java·算法·leetcode·决策树·深度优先
亦暖筑序29 分钟前
手写 Spring AI Agent:让大模型自主规划任务,ReAct 模式全流程拆解
java·人工智能·spring
敖正炀29 分钟前
ReentrantLock 与 synchronized对比
java
XiYang-DING35 分钟前
【Java】二叉搜索树(BST)
java·开发语言·python
weixin_4379576135 分钟前
Mysql安装不成功
java
Lyyaoo.35 分钟前
【JAVA基础面经】进程安全问题(synchronized and volatile)
java·开发语言·jvm
Andya_net1 小时前
Java | 基于 Feign 流式传输操作SFTP文件传输
java·开发语言·spring boot
_Evan_Yao1 小时前
别让“规范”困住你:前后端交互中的方法选择与认知突围
java·后端·交互·restful