![](/img/trans.png)
[英]Count the number of matching elements in two arrays in Java and how to generate more than 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.