如何在java中打印没有预览的jasper报告

时间:2014-03-15 09:21:35

标签: java printing jasper-reports

我使用 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());
}

3 个答案:

答案 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以获取示例。