【发布时间】:2016-01-28 08:45:48
【问题描述】:
我有这段代码,它一次只根据给定条件生成一个 Jasper 报告到 PDF。但是如果我想将两个 Jaspers 合并到一个 PDF 文件中怎么办? (即 PDF 输出应该是 LoadTagR2R.jasper + LoadTagR2RLandscape.jasper -- 这将是一个包含多个页面的 PDF 输出流)
if (fullHalfTag.equalsIgnoreCase("Y")){ //Read FULL_HALF_TAG value (if FULL_HALF_TAG == 'Y')
logger.debug("Printing FULL tag...");
reportStream = getServletConfig().getServletContext().getResourceAsStream("/reports/LoadTagR2RLandscape.jasper");
} else {
logger.debug("Printing HALF tag...");
reportStream = getServletConfig().getServletContext().getResourceAsStream("/reports/LoadTagR2R.jasper");
}
//Report parameters
Map parameters = new HashMap();
parameters.put("PLT_NO", pltNo);
parameters.put("TICKET_NO", ticketNo);
try {
Connection conn = ConnectionUtils.getConnection();
JasperRunManager.runReportToPdfStream(reportStream,servletOutputStream, parameters, conn);
response.setContentType("application/pdf");
servletOutputStream.flush();
servletOutputStream.close();
我已尝试合并两个输入流,如下所示,但没有成功。想法?
new java.io.SequenceInputStream(s1, s2).
【问题讨论】:
-
但我需要在 JasperRunManager.runReportToPdfStream 生成 PDF 之前在流级别进行合并。
标签: java pdf jasper-reports inputstream