RESOLVIDO! Erro ao gerar código de barras no ireport

1 resposta
diogoprosoft

Galera estou desenvolvendo umas etiquetas e nelas devem conter um codigo de barras, então montei meu método construi a etiqueta no ireport porém quando vou debugar ele passa todo o metódo ai no final quando ele vai gerar o pdf da um erro, ja pesquisei mais não achei nenhuma conclusão.
estou usando os .jar do itext-2.1.5 pq a 2.1.7 não estava abrindo minhas paginas do sistemas.
estou usando na aplicação o .jar barbecue-1.5-beta1.jar que se encontra dentro da pasta lib do ireport, o que mais está faltando???

Meu método

/*
		 * Codigo para consultar a lista
		 */		
		
		PersistenciaDAO<Produto> persistenciaProduto = new PersistenciaDAO<Produto>();						
		List<Produto> list = persistenciaProduto.listarGenerico("SELECT p FROM Produto p ");								  
		
		/*
		 * Final da consulta, retorna array para converter em pdf
		 */
		
		//Localiza o contexto da pasta onde esta localizado o .jasper
		String pathJasper = servletContext.getRealPath("/ireport/") + "/"; 
		
		//Faz o mapeamento do context para levar o .jasper a conversao em bytes
		Map parametros = new HashMap();
		parametros.put("ireport", pathJasper);
		
		try {
		//Recebe a lista do array populado	
		JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
		//pega o ds + a conexao para ir ate o ireport para listar o array dentro do relatorio
		JasperPrint impressao = JasperFillManager.fillReport(pathJasper + "/etiqueta.jasper",parametros, ds);
		
		//converte o relatorio em bytes gerando o pdf
		byte[] bytes = JasperExportManager.exportReportToPdf(impressao);
		byte[] arquivo = bytes;
		
		//Tratamento para exportacao do pdf para a url do browser e o tratamento de erros.
		String nomeDoArquivo = "etiqueta.pdf";
		response.setContentType("application/x-msdownload");
		response.setHeader("Content-Disposition", "attachment; filename=".concat(nomeDoArquivo));
		response.setContentLength(arquivo.length);
		ServletOutputStream sos = response.getOutputStream();
		sos.write(arquivo, 0, arquivo.length);
		sos.flush();
		sos.close();
		} catch (Exception e) {
		if(e.getClass().getSimpleName().equals("AbortException")){
		System.out.println("Documento cancelado");
		} else{
		System.out.println("Outros");
		}
		}
		}

O erro ocorre na seguinte linha: byte[] bytes = JasperExportManager.exportReportToPdf(impressao);

O erro que esta acontecendo:

30/09/2009 11:17:34 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet vraptor2 threw exception
java.lang.NoSuchMethodError: com.lowagie.text.Image.plainWidth()F
	at net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(JRPdfExporter.java:1219)
	at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:675)
	at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:641)
	at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:536)
	at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:323)
	at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportManager.java:188)
	at com.estoque.logic.ProdutoLogic.geraRelatorio(ProdutoLogic.java:303)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:61)
	at org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:32)
	at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	at org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)
	at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	at org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)
	at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	at org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)
	at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	at org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)
	at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	at org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)
	at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
	at org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:98)
	at org.vraptor.core.DefaultController.execute(DefaultController.java:46)
	at org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)

O que devo fazer???

1 Resposta

diogoprosoft

Resolvido, alterei o .jar do itext.
versão do erro: itext-2.5.1.jar
versão da solução: itext-1.1.3.jar

Obrigado.

Criado 30 de setembro de 2009
Ultima resposta 30 de set. de 2009
Respostas 1
Participantes 1