Я хочу иметь возможность отправлять отчет с JasperReports как приложение. В настоящее время в моем приложении я могу просмотреть отчет, используя JasperReportsViewResolver ниже моей конфигурацияОтправка сгенерированного отчета в виде вложения электронной почты в SpringBoot
@Bean
public JasperReportsViewResolver getJasperReportsViewResolver() {
JasperReportsViewResolver resolver = new JasperReportsViewResolver();
resolver.setPrefix("classpath:/static/jasper/");
resolver.setSuffix(".jrxml");
resolver.setReportDataKey("datasource");
resolver.setViewNames("rpt_*");
resolver.setViewClass(JasperReportsMultiFormatView.class);
resolver.setOrder(0);
return resolver;
}
я не смог получить входной ресурс от этого viewresolver так ниже это идея, которую я имею в виду, но я не уверен, что это лучший способ
JasperDesign jasperDesign = JRXmlLoader.load(getClass().getResourceAsStream("/jasper/rpt_media.jrxml"));
JasperReport report = JasperCompileManager.compileReport(jasperDesign);
JRDataSource reportData = new JREmptyDataSource();
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("reportTitle", "dfa dafdf d dfd");
OutputStream stream = new FileOutputStream(tempfile);
JasperReportsUtils.renderAsPdf(report, parameters, reportData, stream);
после сохранения отчета в случайный файл я прочитал его и отправить в качестве вложения.
Любое другое предложение?