Carregar imagem no jasper

15 respostas
R

Galera estou querendo carregar uma imagem no pdf que estou montando alguém tem um exemplo de como eu posso fazer isso ?

15 Respostas

T

Pode criar um objeto do tipo imagem no relatorio sem endereço nenhum…

E através da aplicação java enviar o endereço da imagem através de HashMap.

Att. Jonas

R

Então colega já tenho a imagem no jasper quando eu abro o arquivo.jasper pelo ireport ele mostra a imagem no local onde deve ficar

mais quando exporto o pdf via java não exibe a imagem como no ireport

segue o trecho que leio o arquivo e exporto

InputStream in = getClass().getResourceAsStream("/OrdemServico.jasper");
			Map parametros = new HashMap();			
			JasperPrint jasperPrint = JasperFillManager.fillReport(in, parametros);
			byte[] bts	 = JasperExportManager.exportReportToPdf(jasperPrint);
U

O erro pode ser no caminho da imagens que vc colocou no relatório!!
vlw
abs

T

Sinceramente nunca tive esse tipo de problema…

Certifique-se de que esteja com o diretório corretamente,

Ou, se estiver executando de outra máquina verifique se a mesma tem a imagem no diretório setado…

O mais correto é deixar no classpath da aplicação, e problema resolvido

Att. Jonas

R

eu criei uma label e tirei a imagem no jasper para ver se exibi alguma coisa mais o arquivo e exportado sem nada de conteudo

T

Então seu problema deve ser outro,

Aparentemente me parece que você não está enviando nada para o relatório…

Att. Jonas

R

alguém tem uma sugestão de o que posso fazer para resolver isso e meu primeiro contato com o jasper não vejo muitas soluções

para resolver isso

T

Seu relatório é apenas imagem?

Nao puxa nada do banco de dados?

Essa imagem você quer passar pela aplicação certo?

Você vai puxar essa imagem de onde? do banco de dados ou só do sistema…
Tente fazer um relatório simples e faça funcionar… depois a lógica é a mesma…

Se ocorrer algum erro poste que eu tento ajudar

U

Coloque o caminho completo da imagem para fazer um teste!!
Ex:

C:/img/foto.png

vlw
abs

R

a imagem e apenas o um cabeçalho que irá ter no pdf nesse aquivo que vai se exportar irá vim dados do BD

mais primeiro estou montando o pdf de como ele vai ser exibido

T

Hum, entendo…

Mas amigo assim, para entender a lógica aconselho primeiramente
Fazer um relatório simples… um textField com 1 informação e passa essa informação através de hashMap…

Fazendo isso, o resto da lógica vai ficar fácil para você implementar…

R

TheKill estou fazendo isso agora mais ainda não deu certo de exibir a simples label que criei no .jasper

não sei o que esta errado ainda

T

Se não colar o erro eu não sei como posso ajudar…

Copia o pedaço do código e erro que ele esta gerando…

Ok

R

o problema que não esta dando erro nenhum segue o metodo que exporta o pdf

aqui e o arquivo jasper OrdemServico.jasper criei um label com o parametro TESTE mais não está exibindo nada ainda

estou debugando o metodo e quando faz a leitura do arquivo não vejo o parametro que criei nele

public void ordemServico() {
		try {
			InputStream in = getClass().getResourceAsStream("/OrdemServico.jasper");
			Map parametros = new HashMap();	
			parametros.put("TESTE", "TESTE");
			
			JasperPrint jasperPrint = JasperFillManager.fillReport(in, parametros);			
			byte[] bts	 = JasperExportManager.exportReportToPdf(jasperPrint);			
			JRExporter exporter = new JRPdfExporter();  
			exporter.setParameter(JRExporterParameter.JASPER_PRINT,null);  
			exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, null);  			
			 FacesContext facesContext = FacesContext.getCurrentInstance();
			 HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
			 response.setHeader("Content-Disposition","attachment;filename=ordemPagamento.pdf");
				response.setContentType("application/pdf");
				response.getOutputStream().write(bts);
				facesContext.responseComplete();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
T

Amigo, eu nunca trabalhei com esta forma que vc utilizou então

consecutivamente nao sei se está completamente correto…

Mas uma coisa eu sei… Você está passando PARAMETER, então logicamente vc teria que ter um PARAMETER no relatório

O que eu tenho certeza que nao existe o mesmo. pois vc citou que tem um LABEL. Então sugiro o seguinte:

Apage esse Label. Crie um Parameter chamado TESTE. e inclua o relatório… Compile e teste

Criado 11 de janeiro de 2010
Ultima resposta 12 de jan. de 2010
Respostas 15
Participantes 3