IReport, segui os tutoriais mas continua não funcionando, alguém tem uma sugestão?

3 respostas
R

Boa tarde senhores,

preciso adicionar o logo da empresa no relatorio, já tentei por parametro (java.awt.Image) através do Struts:

ImageIcon gto = new ImageIcon(host+request.getContextPath()+"/web/imgs/logo_intergrafica.jpg");
		//System.out.println(gto.toString());
		params.put("LOGO", gto.getImage());

não funcionou, já tentei com new File($P{LOGO}): http://guj.com.br/posts/list/39087.java#209871

não funcionou também…
Já tentei fazendo um apontamento direto pelo IReport para a imagem que preciso, não funcionou…
No momento meu IReport está com um componente Image(java.awt.Image) com o campo Expression configurado para $P{LOGO}(java.awt.Image).

na Action do Struts está:

ImageIcon gto = new ImageIcon(host+request.getContextPath()+"/web/imgs/logo_intergrafica.jpg");
params.put("LOGO", gto.getImage());

qdo executo a action retorna o erro:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
	br.com.accessconsult.filter.doLoginFilter.doFilter(doLoginFilter.java:38)
	br.com.accessconsult.filter.variaveisSuporte.doFilter(variaveisSuporte.java:53)

root cause

java.lang.NoSuchMethodError: com.lowagie.text.Image.plainWidth()F
	net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(JRPdfExporter.java:1219)
	net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:675)
	net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:641)
	net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:536)
	net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:323)
	net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportManager.java:188)
	net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:404)
	br.com.accessconsult.struts.action.ProdutosGeraRelatorio.execute(ProdutosGeraRelatorio.java:94)
	org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
	org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	br.com.accessconsult.filter.doLoginFilter.doFilter(doLoginFilter.java:38)
	br.com.accessconsult.filter.variaveisSuporte.doFilter(variaveisSuporte.java:53)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.

Alguém pode me dar uma luz, agradeço desde já, procurei tanto aki no guj como fora e tá dificil, alguém por favor.

Agradecido.

3 Respostas

joao.junior

Uma vez fiz um relatório no iReport, usei String no “Image Expression Class”, então usei

params.put("LOGO", host+request.getContextPath()+"/web/imgs/logo_intergrafica.jpg");

Passei a string no caminho da imagem, funcionou beleza.

thiagofacanha

Opa procura no teu codigo por esta linha

com.lowagie.text.Image.plainWidth()F

Tipo este F ai no final acho q foi digitado por engano nao???
Vlw

geidivan

Caso mais alguém tenha essa dúdiva:

Quando este erro ocorre, o relatório já foi gerado corremente (JasperPrinter). O problema ocorre no momento em que é exportado para pdf.

Isso o ocorreu comigo também, mas descobri que o problema era o iText. Substitui a versão antiga (1.3.1) por uma mais recente (2.5.1) e funcionou perfeitamente. Segue meu código:

String reportFileDestin = path + "\\temp\\relatorio.pdf";
	    		  
JRBeanCollectionDataSource jrDS = new JRBeanCollectionDataSource(data);
JasperPrint impressao = JasperFillManager.fillReport(path_jasper_file, parametros, jrDS);
			
File file = new File(reportFileDestin);
if (file.exists()) 
   file.delete();			

JasperExportManager.exportReportToPdfFile(impressao, reportFileDestin);
Criado 12 de novembro de 2008
Ultima resposta 16 de jun. de 2009
Respostas 3
Participantes 4