Я получаю квитанцию с использованием JasperReports, но я хочу ее распечатать автоматически или просто запрограммировать атрибуты без предварительного просмотра ее вывода. Какими могут быть возможные коды.
try {
String get1 = lblORNum.getText();
String get2 = lblInfoID.getText();
JasperDesign jd = JRXmlLoader.load("directory");
String sql = "select * from student, transaction, cashier where transaction.orNum=" + get1 + " AND student.id='" + get2 + "'";
JRDesignQuery query = new JRDesignQuery();
query.setText(sql);
jd.setQuery(query);
JasperReport jr = JasperCompileManager.compileReport(jd);
JasperPrint jp = JasperFillManager.fillReport(jr, null, conn);
JasperViewer.viewReport(jp, false);
} catch (Exception e) {
System.out.println(e.toString());
}
Из
JasperViewer.viewReport(jp, false);
Вы можете получить предварительный просмотр. Из
JasperPrintManager.printReport(jp,false);
Вы можете напрямую распечатать отчет. Если вы не хотите, чтобы предварительный просмотр использовал только второй код.
Вы можете использовать JRPrintServiceExporter для печати отчета JasperPrint.
См. Демонстрацию/образцы/printservice в дистрибутиве JasperReports для примера.
Я не совсем уверен в ваших намерениях, но если вы просто говорите, что не хотите, чтобы Jasper Viewer (окно, открывающее отчет как предварительный просмотр после его создания), вам нужно только удалить строку: JasperViewer.viewReport(jp, false);