永发信息网

jasperreports一次打印多张报表怎么实现

答案:1  悬赏:20  手机版
解决时间 2021-11-23 21:32
jasperreports一次打印多张报表怎么实现
最佳答案
1、若是采用bean作为数据源,可将多个条数据组装成List:
List list = new ArrayList();
list.add(xxx);
list.add(xxx);
......
2、将List装入中:
JRDataSource source =new JRBeanCollectionDataSource(list)
3、初始化jasperReport 对象:
JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile("你的.jasper文件路径");
4、构建JasperPrint 对象,将jasperReport 对象,source数据源填充到report中:
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null, source);
5、获取打印机列表:
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.PNG;
PrintService[] printService = PrintServiceLookup.lookupPrintServices(flavor, pras);
6、指定打印机打印:
for (PrintService p : printService) {
if("指定的打印机名称".equals(p.getName())){
JRAbstractExporter je=new JRPrintServiceExporter();
//传入jasperPrint对象
je.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
je.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE,p);
je.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG,false);
je.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG,false);
je.exportReport();
}

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
长虹65D2000i怎么样?长虹65D2000i好吗
什么是全网诚信通,阿里巴巴值得做吗,怎么入
如何看待沃尔法特离开拜仁这一决定?
50米冲刺需要憋气跑吗?
我提了13下,姐姐比我多提31下,姐姐提了多少下
松原炼油厂查看简历几天能回馈。
虞城那家的板栗好吃吗?
空压机有辐射吗?人类常期接触对身体有害吗?
熊猫狐是什么品种?
小狗送人母狗难过多久
镀锌方管分为哪几种
48V电动车充电器,保险丝烧掉,经查整流二极
夜间突然有大便感几分钟后却便意消失,是怎么
金星教育(天津河北区)地址在哪,我要去那里办
大同南郊区二粮库家属院可以装什么宽带
推荐资讯
诛仙手游外卖宠物小熊怎么获得
天字头的县市名
自慰为什么脚底会冒汗
企业如何办理进出口资质,需要哪些资料
小升初怎么分的,我户口是郧西的,房产证在五
中通快递(玉沙路与新洪路交叉口北)地址有知道
CC美甲小铺地址在什么地方,想过去办事,
停车场(洪山路)(洪山路与306省道交叉口西100
恒龙驾校地址在什么地方,我要处理点事!
张俊男名字怎么样
山东省03建筑消耗量定额与06建筑消耗量定额的
如何优化手机?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?