paribe
#1
Olá,
criei um campo no ireport como parametro chamado imagem no coloquei no column header.
E no servlet vou passar o caminho onde está no contexto da aplicação mas não sai a imagem…
alguém teria um exemplo que funciona …please .please…isso funciona uma imagem em um relatório
// trata imagem
String host = "http://" + request.getServerName() + ":" + request.getServerPort();
// trata imagem
String locationImage =request.getContextPath()+"/imagem/mirax.jpg";
System.out.println("locationImage="+locationImage);
//trata imagem
Session session = (Session) manager.getDelegate();
con = session.connection();
Map parameters = new HashMap();
System.out.println("Tipo de Grupo = "+request.getParameter("tipo_grupo"));
parameters.put("tipo_grupo", Long.valueOf(request.getParameter("tipo_grupo")));
parameters.put("imagem", locationImage);
message :(sysout)
host+imagem = http://127.0.0.1:8090/Relatorio/imagem/mirax.jpg
coloquei essa caminho no ie e acha a imagem o que fazer ??????
paribe
#2
o que fiz pra resolver (solução):
-
versão ireport 3.0
-
fui visualizar/parametros do relatório/novo dei o nome do campo de imagem_dir e o tipo de classe String
-
fui em editar/iserir elemento/imagem
-
em cima do campo imagem e com botão da direita propriedade/imagem/expressão de imagem coloquei $P{imagem_dir}
-
arrastei para o relatório em columheader o campo imagem
-
no java como alimentar o campo imagem_dir com o caminho da imagem no contexto da aplicação
String host = "http://" + request.getServerName() + ":" + request.getServerPort();
locationImage = request.getContextPath()+ "/imagem/mirax.jpg";
Map parameters = new HashMap();
parameters.put("imagem_dir", host+locationImage);
String jasper = request.getContextPath()+ "/reports/Grupo001.jasper";
//System.out.println("host+imagem ="+ host+locationImage);
URL jasperURL = new URL(host + jasper);
System.out.println("Getting the binary...");
response.setContentType(CONTENT_TYPE_PDF);
byte[] bytes = JasperRunManager.runReportToPdf(jasperURL.openStream(), parameters, con);
if (bytes != null) {
ops = response.getOutputStream();
System.out.println("Writting binary");
ops.write(bytes);
System.out.println("Sending report...");
}