Bom dia.
É o seguinte, existe diversas maneiras de fazer.
Vou explicar uma.
Primeiro crie o seu ireport contendo apenas a banda “detail” , adicione nela uma imagem, defina o tamanho que desejar a ela e posteriormente deixe o tamanho da banda + ou - do tamanho de uma folha A4 (Crie este tamanho para q cada figura fique em uma folha diferente!! Existe outros meios, mas este está sendo o mais rápido no momento).
Após, vá em “Visuliar” e clicke em “Campos” crie um novo campo com o nome “imagem” por exemplo e coloque o tipo de classe como “java.io.InputStream”.
Após isso entre na propriedade do elemento image que você criou
Após isso, abra a propriedade do elemento “Image” e coloque na expressão da imagem o “$F{imagem}” e na classe de expressao de imagem coloque “java.io.InputStream”, aconselho selecionar o checkBox “Cache”.
Pronto Finalizamos o Ireport.
Existe outras maneiras de se enviar as imagens para o relatório, por exemplo ao invés de utilizar InputStreamutilizar o diretorio onde se encontra a imagem, assim é só alterar o código e as expressões do relatório para “String”, mas adotei para o exemplo a utilização do InputStream,
Agora precisamos adequar o código.
Podemos criar por exemplo uma classe que conterá as imagens.
public class Fotos {
InputStream imagem;
public InputStream getImagem() {
return imagem;
}
public void setImagem(InputStream imagem) {
this.imagem = imagem;
}
}
Certo, agora precisamos informar as imagens e demais informações necessárias para a exportação do documento.
Crie uma outra classe que será responsavel pela exportação
// Recuperando jasper do Relatorio
FileInputStream layoutRelatorio = new FileInputStream("c:/ColecaoFoto.jasper");
// Criando colecao que conterá as imagens
Collection <Fotos> fotosList = new ArrayList<Fotos> ();
// Criando a primeira imagem
Fotos fotos = new Fotos ();
fotos.setImagem(new FileInputStream("c:/marte.jpg"));
//Adicionando imagem a colecao
fotosList.add(fotos);
// Criando a segunda imagem
fotos = new Fotos ();
fotos.setImagem(new FileInputStream("c:/terra.jpg"));
//Adicionando imagem a colecao
fotosList.add(fotos);
//Nenhum paramentro necessario
Map parameters = null ;
// Executa exportacao para pdf
JasperUtil.exportPdfOnBrowser(fotosList, parameters, layoutRelatorio ,"teste.pdf", response);
Espero ter ajudado.
Qualquer dúvida e se eu puder ajudar, so falar ae.
Depois posta informando se funcionou ??
Abraço.