paribe
Abril 3, 2009, 10:25am
#1
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();
}
[quote=paribe]
String locationImage = this.servletContext.getRealPath("/files")+"\\ims_rel.jpg";
[/quote]
Olá.
A String locationImage traz o camino correto da imagem ims_rel.jpg ?
[]'s
JL
paribe
Abril 3, 2009, 11:06am
#3
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 !!!
[quote=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 !!![/quote]
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
paribe
Abril 3, 2009, 12:11pm
#5
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 );
[quote=paribe]
[code]
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 );
[/code][/quote]
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
paribe
Abril 3, 2009, 2:38pm
#7
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