Relatório no Jasper Reports buscando Imagem dinâmica dentro de um .Jar

2 respostas
S

Galera,

Procurei aqui no fórum algumas ideias e não encontrei ninguém que tivesse a mesma dificuldade que a minha, segue abaixo uma explicação:

Todas as imagens do meu sistema são encapsuladas em um JAR ( O sistema foi desenvolvido assim ), porém estou com dificuldades de entender e tentar implementar como o meu relatório que possui resultados de qualidade, ficando assim:
Se o registro for BOM a imagem a ser exibida na última coluna do relatório será verde, se for mediana será Amarela e assim por diante, porém não sei como posso fazer com que o jasper recupere essas imagens.

Obs:. O sistema utiliza uma classe para recuperar as imagens, porém não sei como o Jasper usaria essa classe para resgatar tais imagens.

Alguém pode me ajudar? :shock:

2 Respostas

R

Faz o seguinte, ja que seu sistema ja recupera essa imagem, vc tem que fazer o seguinte:

1- transformar essa imagem em um array de bytes

2-criar um parametro no seu relatorio do tipo  java.util.list, e apartir do seu sistema vc vai passar essa imagem atraves desse parametro

3- No seu componente de Imagem do seu relatorio na propriedade Image Expression vc coloca o seguinte codigo: javax.imageio.ImageIO.read(new java.io.ByteArrayInputStream((byte[]) $P{IMAGEM}.get(0)). -esse codigo le seu parametro e transforma em imagem.

4- passar o array de bytes criado no passo 1 para o relatorio, com o nome da variavel que criou.

ex:

Map parameters = new HashMap();

List<byte[]> imageList = new ArrayList<>();

imageList.add(<> ) ;

parameters.put(IMAGEM, imageList); //neste ponto passo o meu array de bytes(minha imagem propriamente dita) para o parametro chamado IMAGEM do meu relatorio, lembrando que esse paramentro IMAGEM deve ser do tipo LIST.

5-executar e ser feliz hehe

vlw

S

Caraca Mano!!

Valeu mesmo !!!

Obrigado pela dica!!

Feliz Natal!! :slight_smile:

Criado 24 de dezembro de 2012
Ultima resposta 25 de dez. de 2012
Respostas 2
Participantes 2