いつもお世話になっております。
SpringBoot2、JasperReportsを使用してPDF出力をしたいのですが、
実現の仕方が分かりません。
ご存知の方がいらっしゃれば、
教えていただけますでしょうか。
【実施したい事】
1つのPDFファイル内に、複数人分の請求書を出力したいです。
例えば、Aさん、Bさんの2人がいたとします。
PDF出力すると、Aさん用の請求書、Bさん用の請求書を出力したいです。
※1PDFファイル内にAさん用の請求書、Bさん用の請求書を出力したいです。
試しに以下のプログラムを実行したのですが、
これですとBさん用の請求書しかPDF出力がされませんでした。
@RequestMapping(value="/downloadPDF",method=RequestMethod.POST) @ResponseBody public void downloadPDF(HttpServletResponse response) throws Exception { response.setHeader("Content-Disposition", "attachment; filename=all_seikyusyo.pdf"); Resource resource = context.getResource("classpath:jasperreports/seikyusyo.jrxml"); InputStream inputStream = resource.getInputStream(); JasperReport report=JasperCompileManager.compileReport(inputStream); // Aさん用請求書 HashMap<String, Object> params = new HashMap<String, Object>(); params.put("name", "Aさん"); List<SeikyuDomain> list = seikyusyoService.getSeikyu_dataA(); JasperPrint jasperPrint = JasperFillManager.fillReport(report, params, new JRBeanCollectionDataSource(list)); JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream()); // Bさん用請求書 params = new HashMap<String, Object>(); params.put("name", "Bさん"); list = seikyusyoService.getSeikyu_dataB(); jasperPrint = JasperFillManager.fillReport(report, params, new JRBeanCollectionDataSource(list)); JasperExportManager.exportReportToPdfStream(jasperPrint, response.getOutputStream()); }
以上です。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/19 13:09