Boa noite pessoal
Eu estou criando um relatório com jasperreports-4.0.2 e o editor Ireport Designer 4.0.2, estou recuperando os elementos de um jrxml mudando sua posição e depois do novamente adicionando no documento, passando textos apenas através um HashMap funciona corretamente, o problema ocorre quando tento passar uma imagem para documento ocorre um erro.
O que pode estar acontecendo?
Você esta passando a imagem por parametro? no iREport voce colocou um objeto/componente Image para receber a imagem?
Posta o erro ai.
não sei como vocÊ está fazendo isso. Eu trago na minha programação o endereço da imagem…e passo o endereço como parametro…e no proprio ireport eu crio um objeto imagem cujo caminho é a variável que eu passo no hashmap
Boa tarde Gilson cara eu consegui resolver aqui mas não entendi bem o que era o problema, vou explicar a situação:
num documento Jrxml eu tinha alguns campos texto e uma imagem do tipo java.io.InputStream
Eu recuperava os elementos, mudava a posição deles e setava novamente do documento assim assim como o valor deles através de um HashMap.
O erro que ocorria:
Exception in thread "main" net.sf.jasperreports.engine.JRException: Image read failed.
at net.sf.jasperreports.engine.util.JRJdk14ImageReader.readImage(JRJdk14ImageReader.java:73)
at net.sf.jasperreports.engine.util.JRImageLoader.loadImage(JRImageLoader.java:245)
at net.sf.jasperreports.engine.JRImageRenderer.getImage(JRImageRenderer.java:476)
at net.sf.jasperreports.engine.JRImageRenderer.getDimension(JRImageRenderer.java:512)
at net.sf.jasperreports.engine.fill.JRFillImage.fitImage(JRFillImage.java:1251)
at net.sf.jasperreports.engine.fill.JRFillImage.prepare(JRFillImage.java:1173)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:329)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:419)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:378)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:440)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnHeader(JRVerticalFiller.java:516)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:168)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:118)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:435)
at sistemarelatorios.RelatorioDinamicoTop.main(Relatorio.java:43)
Java Result: 1
Para resolver eu mudei no Ireport Designer 4.0.2 a propriedade da imagem Scale image para Fill frame e resolveu.
Alguem sabe me explicar o que estava acontecendo?