Code:
public boolean printExternalReport(String path, JTable table, HashMap<String, Object> params) {
try {
JRTableModelDataSource dataSource = new JRTableModelDataSource(table.getModel());
JasperReport jasperReport = JasperCompileManager.compileReport(path);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource);
JasperPrintManager.printPage(jasperPrint, 0, false);
return true;
} catch (JRException ex) {
Logger.getLogger(JasperReporting.class.getName()).log(Level.SEVERE, null, ex);
MessageDialog.customErrorDialog(null, "Printer NOT Found. \n" + ex.getCause());
}
logger.setLevel(org.apache.log4j.Level.ERROR);
logger.error("Printing failed. Printer is NOT accepting JOB " + SystemDate.getDate());
return false;
}