如何将JasperPrint直接打印到打印机?

我使用Java来创建JasperReports的报告。 我想要做的是用户能够直接打印,无需打印对话框。
我创建了JasperPrint ,我知道我的打印机的名称和型号。

我也在这里查看了样本,但无法弄清楚如何。
我使用Java 1.7和最新的JasperReports库。

有谁知道怎么做?

public class PrintApp { public static void print() { JasperPrint jasperPrint = getJasperPrint(); String printername = AllPrinter.getDepartmentPrinter("Admin"); // where should i introduce my printer name to jasperreports? JasperPrintManager.printReport(jasperPrint, false); } private static JasperPrint getJasperPrint() { return JasperPrinterCreator.getJasperprint(); } } 

我解决了它如下,希望它可以帮助别人。

 public class PrintApp { public static void print() { JasperPrint jasperPrint = getJasperPrint(); String selectedPrinter = AllPrinter.getDepartmentPrinter("Admin"); PrinterJob printerJob = PrinterJob.getPrinterJob(); PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); PrintService selectedService = null; if(services.length != 0 || services != null) { for(PrintService service : services){ String existingPrinter = service.getName().toLowerCase(); if(existingPrinter.equals(selectedPrinter)) { selectedService = service; break; } } if(selectedService != null) { printerJob.setPrintService(selectedService); boolean printSucceed = JasperPrintManager.printReport(mainPrint, false); } } private static JasperPrint getJasperPrint() { return JasperPrinterCreator.getJasperprint(); } }