Galera estou querendo carregar uma imagem no pdf que estou montando alguém tem um exemplo de como eu posso fazer isso ?
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
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);
O erro pode ser no caminho da imagens que vc colocou no relatório!!
vlw
abs
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
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
Então seu problema deve ser outro,
Aparentemente me parece que você não está enviando nada para o relatório…
Att. Jonas
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
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
Coloque o caminho completo da imagem para fazer um teste!!
Ex:
C:/img/foto.png
vlw
abs
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
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…
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
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
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();
}
}
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