- 本工具在项目中的会使用到的目前接触使用到的是打印pdf相关的文件。
- 介于做模板报表遇到的问题。
(1)、与平常报表一致需要找寻数据源,在添加数据源时如果使用的是oracle数据库需要下载一个Jdbc Driver的数据源驱动,原本版本不支持。
(2)、新建模板版,当新建模板后列表会显示出多种的选项包含了页面的标题,页眉页眉列,详情,下页眉,页脚,总结等多个区域
如果要进行报表等模板需要在相应区域去填写数据或者占位符。本次拿来标签的开发做示例。标签示例的话只需要进行在详情页面进行编辑就好了,删除区域留下详情Detail。
(3)、编辑页面画图,在进行编辑页面时正常编辑即可。需要注意几点,对于字体默认字体不是华文宋体是一个名为DejaVu_Sans的字体文件,可能是因为iReport不在维护的原因本字体是与本机系统的字体是不兼容的需要单独下载字体的安装包到系统安装,不然到代码中测试下载会显示JVM字体不兼容问题(我系统是遇到了)。
(4)、传参和占位传参方式,iReport是通过使用$P{}和$F{}来进行区分是传参还是通过参数查询数据库数据来填充的。$P{}是页面属于传参编辑时方式(双击编辑buzhi到为什么不行)在该页面进行编辑,同时该页面也是写查询的地。需要注意的是编辑好数据类型,对应查询库表中字段类型。
也可以编辑在Report Inspector栏中参数,属性进行编辑
(5)、查询查询完成后找到相对应的字段。会在侧边栏Fields中也可以直接侧拉到模板中,但是不建议编辑是尽量使用表达式编辑器来编写。方式选中右击
打开编辑器后
编辑器页面中有查询出的字段直接双击上去进行编辑,并且还有存在一些常用对比判空等选项。(查询填充是通过$F{})同样本工具也支持直接编辑写死到模板。
(6)、编辑好后进行预览查看同时根据输入参数进行查询然后进行数据填充。!!!一定要注意输入入参时格式符号的中英文。预览页面出现空白时需要查看参数格式,查询语句,表中是否有该数据。一般是根据一个参数查询出的多个数据,(iReport是可以自行分页的)。传入多个不同参数是一定注意传参方式和sql书写方式,注意调整。
刷新重新输入参数和查看多个其他标签
(7)、二维码。二维码生成方式是在组件面板中找到Image拖到模板中,随便指向一个图片或者不指向,再侧边栏找到该image点击属性
编辑地址,二维码是需要插入组件,配置的。按照这种格式进行数据的拼接。(相关的组件jar包稍等会打包一份出来,网上找jar包不好找),配置方式
引入jar包后就可以正常使用二维码生成了
(8)、在编辑完模板后需要进行生成相应的.jasper文件。两个文件一起放到代码里。同时还会遇到一些编辑模板从后端带入字段时候显示不完整,吃字等问题。同厂家那边找到了相关的文档。
(9)、注意在进行预览测试传参时一定要注意数据格式和中英文标点符号。另外如果需要不查询数据时,要全部从代码中填充的话也需要在模板中配置一个数据源的 只是不需要写到模板的时候填充就可以了不然的话也会报错不会填充到模板中的(保证有相同的值合并)。
(10)、添加水印。添加水印是直接引用的jpg图片,在引用时编辑图片地址时一定要把核对好,本地软件里能预览的地址一般是本地的,在代码中记得把地址更换,另外需要注意的是在更改了,jrxml文件后一定要重新编译获取.jasper文件再去引入代码中。