当有更多数据时,Jasper报告以PDF格式导出空数据

sta*_*ley 6 java jasper-reports

我有一个使用jasper报告以excel,pdf和word导出的报告.我使用xml文件作为报告的DataSource,但是当数据增加时,jasper报告仅为PDF格式导出空文件,当我减少数据内容时,它会正确导出数据.pdf大小有限制吗?,我们如何从java管理jasper报告中的大小?

我的jrxml真的很大,所以我不能在这里添加它,我添加了我用来导出内容的java代码:

JRAbstractExporter exporter = null;
if (format.equals("pdf")) {
    exporter = new JRPdfExporter();
    jasperPrint.setPageWidth(Integer.parseInt(pWidth));
} else if (format.equals("xls")) {
    exporter = new JRXlsExporter();

} else if (format.equals("doc")) {
    jasperPrint.setPageWidth(Integer.parseInt(pWidth));
}
exporter.setParameter(JRExporterParameter.JASPER_PRINT,
        jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,
        outputStream_);
exporter.exportReport();
contents = outputStream_.toByteArray();
response.setContentType("application/" + format);
response.addHeader("Content-disposition",
        "attachment;filename=" + name.toString() + "." + format);
Run Code Online (Sandbox Code Playgroud)

fal*_*ker 10

如果没有日期源,您可以尝试此代码

       jasperReport = JasperCompileManager.compileReport(sourceFileName);
       jasperPrint = JasperFillManager.fillReport(jasperReport,jasperParameter,new JREmptyDataSource()); 
       JasperExportManager.exportReportToPdfFile(jasperPrint, "D://.pdf")
Run Code Online (Sandbox Code Playgroud)

即使您没有任何数据源,并且提供JREmptyDataSource的静态数据报告也很重要,否则您可能会收到空白报告.

有关详细信息,请访问此链接/sf/answers/373409081/

- 干杯!


RMo*_*sey 2

尝试设置内容长度:

response.setContentLength(outputStream_.toByteArray().length)
Run Code Online (Sandbox Code Playgroud)

看看这是否可以解决您的问题。