繁体   English   中英

Eclipse Java生成时,Jaspersoft Studio无法显示超过100页的页码

[英]Jaspersoft Studio cannot display page number more than 100 pages when generate by Eclipse java

问题是当我使用Eclipse IDE完成生成pdf报告时,pdf报告将仅显示当前页码,但由于总页数超过100页(将显示少于100页)而未显示总页数。仅在预览时显示在jaspersoft studio中很好。 我使用表达式来显示总页面为$ V {PAGE_NUMBER},并将评估时间设置为“报告”。 我使用表达式来显示当前页码为$ V {PAGE_NUMBER} +“ OF”,并将评估时间设置为“ Now”。 我使用TIBCOJaspersoft®Studio 6.6.0。 有谁能够帮助我。 谢谢

//generate pdf report code
File reportFile = new File(jrxml_path + criteria.getReportCode() + ".jrxml");
FileInputStream inputStream = new FileInputStream(reportFile); 
JasperPrint jasperPrint = JasperFillManager.fillReport(JasperCompileManager.compileReport(inputStream), params, connection);

 //in pom.xml file
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.6.0</version>
    </dependency>

我找到了问题的原因,因为我在Java代码中使用了JRSwapFileVirtualizer。 虚拟机将碧玉打印成不同的文件,以避免内存不足异常,并将它们保存在硬盘驱动器上和/或压缩它,因此总页数无法计算,因为我将maxSize参数设置为100页。

Integer virtualPage         = 100; 
Integer virtualBlockSize    = 2048;     
File virtualizePath = new File(report_path + "virtual");

JRSwapFile swapFile = new JRSwapFile(virtualizePath.getAbsolutePath(), virtualBlockSize, 100);
virtualizer = new JRSwapFileVirtualizer(virtualPage, swapFile);
virtualizer.setReadOnly(true);
JRVirtualizationHelper.setThreadVirtualizer(virtualizer);
params.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);

如果要在JasperReports中阅读有关虚拟化器的更多信息,可以转到此链接: virtualizers-jasperreports

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM