JasperViewer sur la machine serveur et non pas sur la machine client

Résolu
bonapart002 Messages postés 45 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 9 février 2011 - 16 sept. 2010 à 12:50
bonapart002 Messages postés 45 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 9 février 2011 - 23 sept. 2010 à 09:47
Bonjour à tous, j'espère que quelqu'un pourrait m'aider avec cet bug ...
pourquoi si je veux générer un état sur un machine client le visionneur de JasperViewer apparait sur la machine du serveur et non pas sur la machine du client ?
j'utilise le code suivant:
 String webRoot = servletContext.getRealPath("/COMPTA");
 fileXml = new File(webRoot + "\\reports\\balance_generale.jrxml");
 JasperDesign jasperDesign = JRXmlLoader.load(fileXml);
 JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, model, connection);
 JasperViewer.viewReport(jasperPrint, false);
 JasperExportManager.exportReportToPdfFile(jasperPrint, par.getType_rapport() + ".pdf");


merci d'avance.

5 réponses

bonapart002 Messages postés 45 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 9 février 2011
23 sept. 2010 à 09:47
salut
la ligne suivante
response.addHeader("Content-disposition", "attachment;filename=balance_generale.pdf");

et écrite pour afficher la boite de dialogue si je la supprimé ca marche comme je veux
il reste un petit problème c'est que le nom de rapport prend par défaut le titre de la page jsp.
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 sept. 2010 à 14:06
Salut,

C'est tout à fait normal dans un contexte J2EE : le code est exécuté au niveau serveur, il génère donc le pdf au niveau du serveur, pour le rendre accessible au niveau du client, il te suffit de retourner le fichier pdf plutôt que de faire une redirection vers une page jsp par exemple.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
bonapart002 Messages postés 45 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 9 février 2011
16 sept. 2010 à 14:25
salut merci pour votre réponse
si je comprend bien "retourner le fichier pdf " :
ce code me permet de générer le rapport et d'afficher une boite de dialogue(de Firefox) pour enregistre ou ouvrir le rapport généré .mais je veut quant je cliquer si le bouton Generer le rapport s'ouvre directement sans passer par la boite de dialogue .
 String webRoot = servletContext.getRealPath("/COMPTA");
 fileXml = new File(webRoot + "\\reports\\balance_generale.jrxml");
 JasperDesign jasperDesign = JRXmlLoader.load(fileXml);
 JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);   
 byte[] bytes = JasperRunManager.runReportToPdf(jasperReport, model, connection);
 HttpServletResponse response = (HttpServletResponse)    
 context.getExternalContext().getResponse();
 response.setContentType("application/pdf");
 response.setHeader("Content-disposition", "inline");
 //Pour afficher une boîte de dialogue pour enregistrer le fichier sous
 response.addHeader("Content-disposition", "attachment;filename=balance_generale.pdf");
 response.setContentLength(bytes.length);
 response.getOutputStream().write(bytes);
 response.setContentType("application/pdf");
 context.responseComplete();

y'a t il un moyen de le faire?
et merci .
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 sept. 2010 à 14:45
Salut,

Pas en pur html, il te faut passer par un plugin au niveau du navigateur, par exemple :
http://joliclic.free.fr/html/object-tag/object-application.html

Mais ca ne marche que si un plugin pdf est installé pour le navigateur.

Sinon y'a cà :
http://www.swftools.org/

Mais je suis pas sûr que ca s'applique à ton cas.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bonapart002 Messages postés 45 Date d'inscription mercredi 17 décembre 2008 Statut Membre Dernière intervention 9 février 2011
16 sept. 2010 à 14:53
Salut,
merci pour votre réponse je doit le tester tout d'abord.
mais je croit que sera poser quelques problème pour un client qui n'a pas le plugin ,ou qui utilise autre navigateur.
0
Rejoignez-nous