我面临一个问题,我有两个jrmxl
文件。然后,我想加入一个pdf
文件,但每个文件都加入一页。
我看到了下面的一些技巧,但我不知道他们是最好的,因为我的第一个文件有3个波段:title
,detail
和summary
。第二个有detail
和summary
。
所以我想尽可能保留这种格式,因为摘要中有分页计数器。
我已经尝试过了,但是我的第二页是空白的,高度为5厘米。
列表页=新的ArrayList <>();
for (String caminhoRelatorio : caminhoRelatorios) {
reportPath = JasperCompileManager.compileReport(caminhoRelatorio);
reportPage = JasperFillManager.fillReport(reportPath, parameters, ds);
pages.add(reportPage);
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
JRPdfExporter jrPdfExporter = new JRPdfExporter();
jrPdfExporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, pages);
jrPdfExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
jrPdfExporter.setParameter(JRPdfExporterParameter.IS_CREATING_BATCH_MODE_BOOKMARKS, Boolean.TRUE);
jrPdfExporter.exportReport();
那我该怎么办?
要将多个JRXML添加到一个报表/ PDF中,可以按照以下提到的方式进行:
考虑下面的方法来生成带有2个JRXML的PDF报告,这些报告已添加到“ jrxmlFileNames”列表中
public static void reportGenerator(String reportType, List<String> jrxmlFileNames,
Datasource dataSource , String SwapFile)
{
JRConcurrentSwapFile swapFile = new JRConcurrentSwapFile(SwapFile, 102400 , 10);
JRAbstractLRUVirtualizer virtualizer = new JRSwapFileVirtualizer(1000, swapFile, true);
Map<String, JRAbstractLRUVirtualizer> parameters = new HashMap<String, JRAbstractLRUVirtualizer>();
parameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
try
{
if (reportType.equalsIgnoreCase("PDF"))
{
try
{
JasperReport jreport1 = JasperCompileManager.compileReport(ReportGenerator.class.getResourceAsStream(jrxmlFileNames.get(0)));
JasperPrint jprint1 = JasperFillManager.fillReport(jreport1, parameters, new JRBeanCollectionDataSource(dataSource.getDataSourceFor1()));
JasperReport jreport2 = JasperCompileManager.compileReport(ReportGenerator.class.getResourceAsStream(jrxmlFileNames.get(1)));
JasperPrint jprint2 = JasperFillManager.fillReport(jreport2, parameters, new JRBeanCollectionDataSource(dataSource.getDataSourceFor2()));
List<JasperPrint> jprintlist = new ArrayList<JasperPrint>();
jprintlist.add(jprint1);
jprintlist.add(jprint2);
String fileName="TESTReport.pdf";
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT_LIST, jprintlist);
exporter.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, fileName);
exporter.exportReport();
}
catch(Exception e)
{
e.printStackTrace();
}
}
swapFile.dispose();
}
catch(Exception e)
{
e.printStackTrace();
}
}
在上面的代码中,以下部分将帮助您添加多个JRXML。
List<JasperPrint> jprintlist = new ArrayList<JasperPrint>();
jprintlist.add(jprint1);
jprintlist.add(jprint2);
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT_LIST, jprintlist);
希望能帮助到你!
我想用jaspersoft Studio创建一个非常简单的jasper报告。我想使用groovy函数来返回一个将包含在我的报告中的字符串。 问题是我真的不知道如何将groovy文件与jrxml文件链接起来。 有什么想法吗? 这是代码,你会注意到我试图调用函数: Blank_A4.jrxml文件: Blank_A4.groovy文件: 这两个文件位于我的项目的同一文件夹中。
我试图在表中插入值,它说的是错误,请告诉我哪里错了,这是我的代码,它说的是请重试 你能指导我吗?我以为问题出在约会上
PPT/Excel 中插入动态交互图表,需要使用Office应用商城插件。 1) 使用Office2013或以上版本创建一个PPT文档(Excel也可以) 2) 点击“插入”选项卡,再点击“应用商店”按钮打开商店窗口。 3) 在商店窗口中搜索“图表秀”,找到名为“图表秀-PPT动态展示”的外接程序,点击添加即可。 4) 以后再要使用此插件时只需点击“我的加载项”,即可找到并直接使用此插件了。 5)
本文向大家介绍如何调试报表插件,包括了如何调试报表插件的使用技巧和注意事项,需要的朋友参考一下 在项目开发过程中插件调试非常的麻烦,需要修改里面的代码,编译出class,需要重新打包插件。然后把之前的删除,重新安装最新的。调试过程比较繁琐,而且不能调试,十分的不方便。下面给大家介绍如何调试插件。 需要工具:eclipse,finereport报表工具 具体说明 1、 新建工程 新建java工程,在
问题内容: 做一个学校的项目,所以任何帮助将是巨大的谢谢! 我有两个表-如何插入两个表中?因此,两个表都是链接的。 用自动递增的主键调用第一个表 第二个称为的表具有链接到父表的外键 问题答案: 您需要执行以下操作: SCOPE_IDENTITY : 返回插入到同一作用域的标识列中的最后一个标识值。范围是一个模块:存储过程,触发器,函数或批处理。因此,如果两个语句位于相同的存储过程,函数或批处理中,
问题内容: 条件:请勿修改原始清单;仅JDK,无外部库。一线或JDK 1.3版本的加分点。 有没有比以下更简单的方法: 问题答案: 你可以使用Apache commons-collections库: