Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Creating Jasper Report at client machine

 
Dhana Sen
Ranch Hand
Posts: 33
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,

am creating web based project.During run time i want to create REPORT.. am using JASPER REPORT(opensource -(Struts + hibernate + Jasper Report)).
right now am able to generate the report at run time.. but am getting it in Server..

my code:
********
InputStream is = getServlet().getServletContext().getResourceAsStream("/WEB-INF/config/report.jrxml");
JasperDesign design = JRXmlLoader.load(is);
JasperReport report = new JasperCompileManager().compileReport(design);
JasperPrint print =JasperFillManager.fillReport(report, parameters, new ManipulateReport(excereportlist, fields));
// View the Report
JasperViewer.viewReport(print,false);

*************************

if am running project in client.. and if i click the button (Report).. my report was opening in Server Machine ...

i need my report should be open in my Client machine..
is there any other way.. where i can open my report in client.. / any other class in Jasper Report..



Thanks
Dhana
 
Ulf Dittmer
Rancher
Posts: 42968
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Does viewReport open a new Java (i.e., AWT or Swing) window? That, obviously, can not open on the client, because the JVM is on the server. But JasperReports can generate HTML reports, which you can display to the client, or you can have it generate PDF, which you can show to the client.
 
Subhashini Sekar
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Try these line in a

pdfasbytes = JasperExportManager.exportReportToPdf(jasperPrint);
outstream = res.getOutputStream();
res.setContentType("application/pdf");
res.setContentLength(pdfasbytes.length);
String strSettings = "inline;filename=\"abc.pdf\"";
res.setHeader("Content-Disposition", strSettings);
outstream.write(pdfasbytes, 0, pdfasbytes.length);
outstream.flush();
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic