Imagem dinamica no iReport

3 respostas
V

pessoal, eu ja rodei várias páginas do google e ainda nao consegui achar uma maneira ideal de fazer isso… eu tenho um jrxml e nele quero colocar uma imagem dentro da tag … o problema é que todos os tutorias que venho lendo utiliza o hashmap na construção do relatório, eu nao uso o hashmap, nao é assim que o pessoal implementou aqui.
aqui estamos usando a estratégia de gerar o jasperDesign, compilar o jasperDesign para o jasperReport e dai então gerar o jasperPrint … ou seja, eu já trabalho direto com os objetos do jasper … eu tentei passar um mapa usando o método

InputStream imgInputStream = this.getClass().getResourceAsStream(diretorioJBossJasperReport+"imagemlogo.png"); HashMap<String, Object> mapa = new HashMap<String, Object>(); mapa.put("imagem", imgInputStream); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, mapa, con);

enquanto que no jrxml eu uso

mas o eclipse me manda o seguinte erro

Element ‘image’ cannot have character [children]

alguem poderia me ajudar?
vlw

3 Respostas

A

Eu tava olhando um report aqui onde tenho uma figura fixa. no jrxml está isso:

É uma aplicação desktop que o pessoal acessa numa pasta compartilhada. A figura fica no mesmo local onde os .jasper e funciona legal.

Se você tentasse passar o caminho da imagem que quer mostrar, será que não funcionaria ? Não precisaria então de InputStream…

A

No bean o atributo que carrega a imagem deve ser um byte[].
o parametro deve ser passado como Object.
no ireport o parametro deve ser criado do tipo Object.
no componente de imagem deve ficar assim no image expression – > $P{instituicaoLogo} != null ? new ByteArrayInputStream( (byte[])$P{instituicaoLogo} ) : null

V

ademilton, é exatamente isso que to tentando fazer… nao quero deixar o caminho estático

Criado 18 de junho de 2012
Ultima resposta 18 de jun. de 2012
Respostas 3
Participantes 3