票据的套打是一种普遍的需求,即在一张印刷好的票据上,准确无误的打印票据的内容。传统的报表工具,需要用尺子量出数据在套打背景的位置,然后在屏幕上根据尺寸定位数据所在单元格的位置,相当繁琐。FineReport报表可以将套打背景扫描成图片,直接作为报表背景,对应背景插入数据,而打印时只打印出相应位置上的数据,不打印背景及其他格式,如下图效果:
工具/原料
1
Java报表插件:FineReport
2
电脑
方法/步骤
1
将票据处理成与实际尺寸相同,且分辨率为96的图片通过扫描仪将要进行套打的票据扫描成图片,再通过画图软件将图片编辑成分辨率为96,与实际尺寸相同的图片。处理好的图片保存如%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Check.jpg。设置了报表背景后,报表背景图片会保存在报表文件中,别的电脑也需要这个模板,只要拷贝cpt文件即可,不需要拷贝原始背景图片。
2
新建报表,将图片设置为纸张背景点击菜单模板>纸张背景,打开背景设置的对话框,选择图片,点击选择图片,选择背景,设为平铺:
3
页面设置根据票据的实际尺寸进行页面大小设置,同时将页边距都设为0。
4
设计报表添加数据集ds1,SQL语句为SELECT * FROM [订单],使用订单表制作一张每个订单的开票信息,最终打印出来。拖拽数据列,调整单元格使得报表内容对应到票据的相应位置:调整红色分页线内最右方的单元格,保证最右方边框线与红色分页线在票据背景的最右边缘重合;按同理调整最下方的单元格。