IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Afficher un état Jasper format PDF dans un popup


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 65
    Points : 64
    Points
    64
    Par défaut Afficher un état Jasper format PDF dans un popup
    Bonjour,
    J'ai une application jsf qui produit des états sous format PDF. Au stade actuel les fichiers sont telechargés après un clic sur un commandbutton. Je voudrais ouvrir le fichier directement dans un popup au clic.
    Primefaces 3.3.1 et jsf 2.1
    Merci

  2. #2
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    en parlant de popup tu entends une Dialog?genre P:dialog?
    Si c'est le cas alors je sais pas je n'ai pas reussi à le faire et je ne crois pas que ce soit possible.j'ai reussi en votre le flus de jasper dans la réponse http.donc j'ouvres l'impression dans une autre fenêtre ou autre onglet.

    Bref si jamais tu trouves une manière de le faire je suis aussi preneur

  3. #3
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 65
    Points : 64
    Points
    64
    Par défaut
    Salut. Veux tu me montrer comment tu ouvre avec une nouvelle fenêtre?

  4. #4
    Membre confirmé Avatar de bruneltouopi
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 308
    Points : 466
    Points
    466
    Par défaut
    exemple dans le fichier xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:commandButton style="margin-right: 10px;" icon="ui-icon-print" value="Bordereau" actionListener="#{phaseController.imprimerTrx()}" immediate="true" ajax="false" onclick="target='_blank'; return true;"/>
    Fonction d'impression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    /**
         * Cette fonction permet d'imprimer un report
         *
         * @param fileName le fichier report à imprimer
         * @param data données à mettre dans le report
         * @param parameters ensemble de parametres à ajouter au report
         * 
         */
        public static void print(String fileName, Collection<?> data, Map<String, Object> parameters) throws IOException,JRException{
            ServletOutputStream servletOutputStream = null; 
            FacesContext fc = FacesContext.getCurrentInstance();
                Locale myLoc = fc.getViewRoot().getLocale();
     
                //on charge les donnees
                beanCollectionDataSource = new JRBeanCollectionDataSource(data);
     
                HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse();
     
     
                // set header as pdf
                response.setContentType("application/pdf");
                servletOutputStream = response.getOutputStream();
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                try {
                FileInputStream fis;
                BufferedInputStream bufferedInputStream;
     
     
                // get report location
                String reportLocation = fc.getExternalContext().getRealPath("/WEB-INF/Report/");
                String pathFile = reportLocation +"/"+ fileName;
     
                //phase de compilation on va tester si le fichier jasper existe deja sinon on compile
                String reportPathjrxml = pathFile + ".jrxml";
                String reportPathjasper = pathFile + ".jasper";
                File f=new File(reportPathjasper);
                if(!f.exists()){
                JasperCompileManager.compileReportToFile(reportPathjrxml, reportPathjasper);
                }
     
                 // get report
                fis = new FileInputStream(reportPathjasper);
                bufferedInputStream = new BufferedInputStream(fis);
     
     
                String filePath = reportLocation + "/reportBundle_" + myLoc + ".properties";
                FileInputStream fis1 = new FileInputStream(filePath);
     
                ResourceBundle bundle = new PropertyResourceBundle(fis1);
     
                parameters.put(JRParameter.REPORT_RESOURCE_BUNDLE, bundle);
                parameters.put(JRParameter.REPORT_LOCALE, myLoc);
                //permet de localiser les reports
                parameters.put(JRParameter.REPORT_FILE_RESOLVER, new SimpleFileResolver(new File(reportLocation)));
                // export to pdf
                jasperReport = (JasperReport) JRLoader.loadObject(bufferedInputStream);
                jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, beanCollectionDataSource);
                JasperExportManager.exportReportToPdfStream(jasperPrint, baos);
     
                response.setContentLength(baos.size());
                baos.writeTo(servletOutputStream);
     
                // close it
                fis.close();
                bufferedInputStream.close();
          } finally {
                servletOutputStream.flush();
                servletOutputStream.close();
                baos.close();
                fc.responseComplete();
            }
     
        }

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/05/2007, 11h39
  2. afficher des etats au format PDF
    Par oasma dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/05/2007, 14h51
  3. Réponses: 5
    Dernier message: 14/02/2007, 16h43
  4. [VB6] Afficher le contenu d'un Pdf dans une form
    Par joquetino dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 04/08/2006, 19h59
  5. Réponses: 3
    Dernier message: 20/09/2004, 09h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo