我使用 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());
}
答案 0 :(得分:1)
来自
JasperViewer.viewReport(jp, false);
您可以预览。 从
JasperPrintManager.printReport(jp,false);
您可以直接打印报告。 如果您不想要预览,请仅使用第二个代码。
答案 1 :(得分:0)
我不太确定你的意图是什么,但是如果你只是说你不想要Jasper Viewer(在它生成后打开报告的窗口作为预览)你只需要删除这一行:JasperViewer.viewReport(jp, false);
答案 2 :(得分:0)
您可以使用JRPrintServiceExporter打印JasperPrint报告。
请参阅JasperReports分发包中的demo / samples / printservice以获取示例。