首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JasperReport:在执行批量导出时继续执行相同操作

JasperReport:在执行批量导出时继续执行相同操作
EN

Stack Overflow用户
提问于 2016-07-29 17:52:06
回答 1查看 129关注 0票数 0

我使用以下代码在JaseReports中执行批量导出:

代码语言:javascript
运行
复制
JRExporter e = new JRPdfExporter();
e.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrints);
e.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, outStream);
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=test.pdf");
e.exportReport();

它成功地导出,但是每个“合并的pdf”都在单独的页面上。我想让每个合并的页面不断,而不是在一个单独的页面上。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-07-30 05:17:31

因为你喜欢保留页面布局,所以你不能不使用isIgnorePagination="true" (它会创建一个连续的布局),JRPdfExporter上没有任何设置可以不将单个JasperPrint视为单独的页面。

您拥有的解决方案是:

  1. 创建一个主报告一个新的.jasper,并将您的jrxml作为子报告包含在其中。这是你可以控制你的主报表中的分页符jrxml.
  2. Elaborate你的代码中的JasperPrint列表,将所有组件移动到一个JasperPrint中,决定它们是应该在当前页面上还是添加到新页面上,这种方法相当复杂,所以我强烈建议使用第一种方法。

BTW:您正在使用不推荐使用的代码,当前版本的代码应该是

代码语言:javascript
运行
复制
JRExporter e = new JRPdfExporter();
exporter.setExporterInput(SimpleExporterInput.getInstance(jasperPrints));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outStrem));
SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
configuration.setMetadataAuthor("n1ckgun"); // set you configs
exporter.setConfiguration(configuration);
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=test.pdf");
exporter.exportReport();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38655743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档