Jasper com imagem no cabeçalho não sai?

6 respostas
P

Olá,

criei um campo de parametro chamado imagem noiReport e coloquei no columnHeader
pra sair como cabeçalho no relatório.

Mas a imagem não sai o relatório (fica em branco) sai com os dados menos a imagem que está no contexto da aplicação
em um diretório files ???

alguém já passou por isso ou tem outra forma de fazer ???

abs

Map parameters = new HashMap();
	// inicio trata imagem
			String locationImage = this.servletContext.getRealPath("/files")+"\\ims_rel.jpg";
			InputStream is = new FileInputStream(locationImage);
			parameters.put("imagem", is);
			// fim trata imagem
	
  			response.setContentType(CONTENT_TYPE_PDF);   
  			byte[] bytes = JasperRunManager.runReportToPdf(jasperURL.openStream(), parameters, con);   
  			if (bytes != null) {   
		             ops = response.getOutputStream();   
		             ops.write(bytes);   
		             ops.flush();
		 	         ops.close();
		 			
		     }

6 Respostas

Mero_Aprendiz

paribe:

String locationImage = this.servletContext.getRealPath("/files")+"\\ims_rel.jpg";

Olá.
A String locationImage traz o camino correto da imagem ims_rel.jpg?

[]'s
JL

P

tras sim pois debugo até essa linha e verifico seu conteudo …

mais uma duvida o tamanho do campo no ireport tem que ser do tamanho da figura pois

arrastei o campo parametro para band columnheader e está pequeno em relação a imagem ???

qq ajuda …ajuda !!!

Mero_Aprendiz

paribe:
tras sim pois debugo até essa linha e verifico seu conteudo …

mais uma duvida o tamanho do campo no ireport tem que ser do tamanho da figura pois

arrastei o campo parametro para band columnheader e está pequeno em relação a imagem ???

qq ajuda …ajuda !!!

Bem, pelo que sei a imagem no JasperReports se ajusta a imagem que será exibida.
Faz o seguinte, troca no seu relatório a imagem de inputStream por uma String, e passa o caminho da imagem como parametro.

[]'s
JL

P

fiz o deploy no jboss e mantei mostrar o conteudo da variavel que montou o local da imagem

e mostrou isso ???

caminho imagem = C:\Arquivos de programas\jboss-4.2.2.GA\server\default\.\tmp\deploy\tmp17507CertisignIMSWeb-exp.war\files\rel.jpg

tem como converter URL para inpuStream ???

pois está dando erro assim : InputStream is = new FileInputStream(imagemURL);

String host = "http://" + request.getServerName() + ":" + request.getServerPort();
			
						
			
			String locationImage = request.getContextPath()+ "/files/"+"rel.jpg";
			URL imagemURL        = new URL(host + locationImage);
			
			InputStream is = new FileInputStream(imagemURL);
			parameters.put("imagem", is);
			System.out.println("caminho imagem = "+locationImage );
Mero_Aprendiz
paribe:
String host = "http://" + request.getServerName() + ":" + request.getServerPort();
			
						
			
			String locationImage = request.getContextPath()+ "/files/"+"rel.jpg";
			URL imagemURL        = new URL(host + locationImage);
			
			InputStream is = new FileInputStream(imagemURL);
			parameters.put("imagem", is);
			System.out.println("caminho imagem = "+locationImage );

Cara, você precisa mesmo usar URL só pra mostrar a imagem?
Se você tá pegando o caminho correto da imagem, passe o caminho em String mesmo para o relatório, e no relatório troque a imagem para String em vez de inputStream.
Já testou como eu te disse?

[]'s
JL

P

Jasper…caminho da imagem todo do contexto !!!

Olá,

como faço pra pegar o caminho todo da aplicação pois como abaixo

só tras o caminho da aplicação + diretorio da imagem …

como faço isso alguem pode me ajudar …

String locationImage = request.getContextPath()+ "/files/"+"rel.jpg";


\Aplicacao\files\rel.jpg (O sistema não pode encontrar o caminho especificado)



resultado :


caminho locationImage = /Web/files/ims_rel.jpg
caminho locationImage Path = C:\Web\files\ims_rel.jpg
caminho imagem = C:\Web\files\ims_rel.jpg
caminho locationImage = C:\Web\files\ims_rel.jpg
Criado 3 de abril de 2009
Ultima resposta 3 de abr. de 2009
Respostas 6
Participantes 2