https://www.sitepoint.com/create-great-reports-jasperreports/
Arquivo da categoria: JasperReports
Passando imagem como parametro no JasperReports
Passando a Imagem em vez do InputStream. Primeiro é preciso carregar a imagem e defini-lo no mapa de parâmetros:
BufferedImage image = ImageIO.read(getClass().getResource("/images/IMAGE.png"));
parameters.put("logo", image );
Agora mude no xml do relatório, adicionando a “imageExpression”:
Geração de relatório com JasperReports em Api Rest
Basta colocar no seu método esse bloco de código.
Map params = new HashMap<>();
JasperReport jasperReport = JasperCompileManager.compileReport(getClass().getResourceAsStream(getPathReport()));
JRBeanCollectionDataSource colecaoDeDados = new JRBeanCollectionDataSource(dao.findeAll());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, colecaoDeDados);
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "inline; filename=consulta.xls");
final OutputStream outStream = response.getOutputStream();
JRXlsExporter exporter = new JRXlsExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outStream));
exporter.exportReport();
Dominando Relatórios JasperReports com iReport
Esse livro é muito bom para quem pretende aprender a fazer um relatório em Java.
Nota do livro: 8.
Como pegar a conexão usando JPA ou Hibernate
Eu passei por um problema que era usar a mesma conexão que eu usava no projeto para usar no meu relatório com o ireports.
Para resolver esse problema usei esse código.
public class ReportsRepository {
private EntityManager entityManager;
public ReportsRepository(EntityManager entityManager) {
this.entityManager = entityManager;
}
public Connection getConnection() {
try {
EntityManagerImpl factory = (EntityManagerImpl) entityManager;
SessionFactoryImpl sessionFactoryImpl = (SessionFactoryImpl) factory.getSession().getSessionFactory();
return sessionFactoryImpl.getConnectionProvider().getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
Como passar imagens para um relatório com iReports
É bem simples basta passar um “InputStream”, então basta no próprio ireports colocar na perspectiva de d XML e então mudar os parameter das imagens com:
Agora se não tiver o class na tag “imageExpression” coloque:
Agora você pode passar como parametro a imagem:
HashMap params = new HashMap();
params.put("Logo", ClassLoader.getSystemResourceAsStream("C:/autonfes/nfe.jpeg"));
JasperPrint rel = JasperFillManager.fillReport(nfe.getJasper(), params, xmlDataSource);