添加封面
在Title上单击鼠标右键,选择Maximize Band Height,即将Title设置成最大高度,独占一页。然后我们就可以在Title里设置我们想要的封面内容了。
封面页不显示Page Footer
只有当页码大于1时才显示第N页,否则显示空字符串。
$V{PAGE_NUMBER} > 1 ? "第" + $V{PAGE_NUMBER} + "页" : ""
TextField内容高度不固定
当TextField展示内容的高度不固定时,需要将Text Adjust的值设置成StretchHeight。
显示当前页&总页数
拖动一个Text Field组件至内容区目标位置,设置Text Field组件的Expression属性为$V{PAGE_NUMBER},当Text Field组件的Evaluation Time属性值为Now时表示是当前页数,当Text Field组件的Evaluation Time属性值为Report时表示是总页数。
表格组件自动生成序号
序号单元格内的Text Field的表达式设置为$V{REPORT_COUNT}。
样式复用
样式复用步骤:
1、在Styles下创建需要复用的样式; 2、将组件拖到内容区,然后在Appearance下设置组件的Style为上一步创建的样式。
柱状图数据源设置
- Dataset:barChartDataset
- Increment on:None
- Reset on:Report
- Use a JRDatasource Expression
- new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{dataList})
其中,barChartDataset为创建的数据集,变量dataList的类型为 java .util.List。
展示Base64格式图片
将Image组件的Expression属性的值设置为net.sf.jasperreports.engine.util.JRImageLoader.getInstance(new SimpleJasperReportsContext()).loadAwtImageFromBytes(Base64.getDecoder().decode(“base64_string_content”)),其中base64_string_content是将图片转成Base64字符串后的内容。
附:
将图片转成Base64字符串的一种实现方式:
import cn.hutool.core.img.ImgUtil;
import javax .imageio.ImageIO;
// ...
String content = ImgUtil.toBase64(ImageIO.read(new File ("image_file_path")), "jpg");
设置纸张格式
在Outline视图中选中报表根节点,在Properties视图中点击Edit Page Format,在弹出的对话框里,我们可以设置纸张的上边距、下边距、左边距、右边距、高度、宽度、单位、打印顺序。