ok... here's what i'm doing... in system out, something like a pdf file is
printed... itÅ› probably there... just don't know how to show it from the
button i'm clicking on:

public String geraReportBois(){
try{

//Generating the report
String caminho_arquivo = new File("").getAbsolutePath() +
"/workspace/safeTrace/WebContent/reports/cliente/frigorifico/";
String nome_arquivo = "reportBois.jasper";
JasperReport jasperReport =
(JasperReport)JRLoader.loadObject(caminho_arquivo + nome_arquivo);
Map parameters = new HashMap();
parameters.put("Caminho", caminho_arquivo);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
parameters, this.getRelatorioBois());
//----------------------------------------------------------------------------------

//Exporting to File (outputStream)
ByteArrayOutputStream pdfStream = new ByteArrayOutputStream();
JasperExportManager.exportReportToPdfStream(jasperPrint, pdfStream);

HttpServletResponse response = (HttpServletResponse)
FacesContext.getCurrentInstance().getExternalContext().getResponse();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "inline; filename=myPDF.pdf");
response.setContentLength(pdfStream.size());
try{
ServletOutputStream sos = response.getOutputStream();
pdfStream.writeTo(sos);
System.out.println("pdsStream - "+pdfStream);
response.sendRedirect("myPDF.pdf");
sos.flush();
sos.close();
pdfStream.close();
pdfStream = null;
}catch(IOException e){
e.printStackTrace();
}
return "";

}catch(JRException e){
System.out.println("entrou no catch geraReportBois");

e.printStackTrace();
}
return null;
}

Reply via email to