【问题标题】:My jrxml file creates an empty PDF file我的 jrxml 文件创建了一个空的 PDF 文件
【发布时间】:2017-01-19 22:21:47
【问题描述】:

我使用iReport Designer 工具创建了一个jrxml 文件。它在 iReport Designer 工具中运行良好。现在我正在尝试使用Java 程序编译该jrxml 文件。 MySQL 查询位于 jrxml 文件中。我认为 jrxml 文件没问题,因为它在 iReport Designer 工具中按预期工作。

当我运行我的 Java 程序来编译并生成带有JREmptyDataSource 的报告的PDF 文件时,它会生成一个pdf 没有填充任何数据,但生成的pdf 中有图形和静态文本。我知道没有数据,因为我使用了JREmptyDataSource

然后我创建了一个到我的数据库的连接。如果一切正常,它应该生成带有相关数据的PDF 文件。不是吗?

这是我的代码

try {    

    Class.forName("com.mysql.jdbc.Driver").newInstance();
    Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/my_db", "root", "123");
    System.out.println("INFO: Connected succesfully to the database!");

    JasperReport jasperReport = JasperCompileManager.compileReport("J:/reports using iReport tools/installmentListForACustomer.jrxml");
    // JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,new HashMap(), new JREmptyDataSource());
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,new HashMap(), c);
    JasperExportManager.exportReportToPdfFile(jasperPrint, "fromXml.pdf");

    System.out.println("INFO: Success!");
} catch (Exception e) {

    System.out.println("EXCEPTION: " + e + " \n");
    e.printStackTrace();
}

但问题是,即使它生成了一个pdf 文件,它也不包含任何内容。甚至没有静态文本和图形。完全是空白。

查询字符串在jrxml 文件中。数据库连接也成功。我不知道为什么它会生成一个空的 PDF。

你能解释一下为什么它不生成一个与数据库相关的pdf文件吗?

【问题讨论】:

    标签: java jasper-reports


    【解决方案1】:

    有一个报告配置可能在您的示例中存在问题:

    When No Data
    

    您可以指定在没有可用数据时报告应显示的​​内容。这可能是一种解释(您的查询可能不起作用),因此没有显示任何内容。

    要检查这一点,您可以尝试输入 When no Data = No Data Section 并在您的报告中添加“无数据”栏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      相关资源
      最近更新 更多