2011-01-14 4 views
2

J'ai développé une application web qui utilise JasperReports. J'ai remarqué que les rapports sont imprimés côté serveur.Imprimer JasperReports côté client?

Comment les rapports sont-ils imprimés côté client (à partir du navigateur Web)?

Toute idée sera utile.

Répondre

1

vous avez une présumant architecture servlets:

  1. obtenir une poignée sur l'instance HttpServletResponse avec HttpServletResponse response = this.getThreadLocalResponse(); (par exemple).
  2. Définissez les différents en-têtes pour indiquer une pièce jointe.
     
    HttpServletResponse response = getServletResponse(); 
    response.setHeader("Content-Description", "File Transfer"); 
    response.setHeader("Content-Disposition", "attachment; filename=" + 
        "report.pdf"); 
    response.setHeader("Content-Type", "application/pdf"); 
    response.setHeader("Content-Transfer-Encoding", "binary"); 
    
  3. Configurer le JRExporter (JRE) pour utiliser le flux de sortie du HttpServletRespone:
     
    jre.setParameter(JRExporterParameter.OUTPUT_STREAM, getOutputStream()); 
    
  4. Execute le rapport.

Le navigateur invitera l'utilisateur à enregistrer le rapport en tant que fichier PDF. L'utilisateur peut imprimer le PDF.