背景
最近在项目开发过程中,需要往导出的报表中增加公司的logo,因此研究了下如何在Jasperreport
中插入图片,整理出来记录一下。
过程
整个设计过程可以使用iReport
/Jasreport Studio
等可视化工具进行设计报表,过程大致如下:
- 使用可视化工具拖拽Image图片控件到需要的位置;
- 在Parameter中增加参数imageUrl参数,具体业务运行的时候传递最终需要的图片路径地址;
- 针对图片控件设置Expression,具体的Expression需要根据文件情况进行区分,如下:
- 如果是本地文件,可以使用new FileInputStream(new File($P{imageUrl}));
- 如果是远程文件,可以使用new URL($P{imageUrl}).openStream()。
以上步骤设置后,运行业务可以在业务中看到图片,默认会根据图片的尺寸等比例缩放展示,如果需要调整可以在Properties中进行调整。