1. 加载模板

JasperPrint jasperPrint = JasperFillManager.fillReport("WebRoot/report/test.jasper", new HashMap(),new JREmptyDataSource());
//false/true 表示在打印的时候是否显示打印机设置
JasperPrintManager.printReport(jasperPrint, false);

 

2. 设置指定打印机

PrintService[] pss = PrinterJob.lookupPrintServices();
PrintService ps = null;
for (int i = 0; i < PSs.length; i++) {
String sps = PSs[i].toString();
//如果打印机名称相同
if(sps.equalsIgnoreCase("Win32 Printer : pdfFactory Pro")){
ps = PSs[i];
}
}
JRAbstractExporter je = new JRPrintServiceExporter();
je.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
//设置指定打印机
je.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE, ps);
je.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, false);
je.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, false);
//打印
je.exportReport();