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

Documents Java Discussion :

L'équivalent de Desktop.getDesktop() coté client


Sujet :

Documents Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 41
    Points : 18
    Points
    18
    Par défaut L'équivalent de Desktop.getDesktop() coté client
    Bonjour,

    J'ai créé une méthode me permettant de générer un fichier pdf avec jasper. J'arrive aussi à ouvrir le fichier généré avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\Users\\Documents\\Appro.pdf");
                Desktop desktop = Desktop.getDesktop();
                desktop.open(new File("C:\\Users\\Documents\\Appro.pdf"));
    en travaillant directement sur le serveur.

    J'aimerai pouvoir ouvrir le fichier du coté client. Pour le moment ça ne marche pas. Quand je clique ça s'ouvre seulement sur le serveur.

    Quelqu'un pourrait-il m'aider svp?

    Merci!

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    C'est un peu normal que le document s'ouvre sur le le serveur, puisque desktop.open(new File("C:\\Users\\Documents\\Appro.pdf")); s'exécute dans la jvm du serveur. Il faudrait exécuter l'ordre d'ouverture du pdf sur le client. Mais, c'est quoi ce client au fait ? Un client RDA, en SWING, JavaFX, SWT... ou un client léger WEB ou RIA ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    Merci joel.drigo de votre répondre,

    C'est une web application. Et j'aimerai que d'autres personnes aient accès à l'application via le réseau

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Donc, tu as une requête qui part de ta page web, vers une servlet (ou une jsp), c'est ça ? Il te suffit d'écrire le contenu de ton fichier dans le flux de la réponse à la requête(voir faq), et d'indiquer le bon mimetype (voir FAQ). Le fonctionnement peux dépendre du navigateur et/ou du logiciel de visualisation de pdf (en outre le pdf est téléchargé sur le poste client). Il y a également des solutions avec de viewerpdf (genre flexpaper) où tu sockes le pdf sur le serveur, et la réponse à la requête http est une page web qui contient le composant de visionnage (voir la doc du visionneur pour le détail).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    Merci joel.drigo, c'est exactement ce que je recherche. Je vais tester et vous donner la suite.

    Merci encore

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    j'y suis pas encore arrivé.
    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
    HttpServletResponse response = null;
            String filepath="C:\\Users\\Commande.pdf";
            String filename="Commande.pdf";
            response.setContentType("application/pdf");
     
            response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
     
            ServletOutputStream out = response.getOutputStream();
            File file = null;
            BufferedInputStream from = null;
     
            try {
                file = new File(filepath);
                response.setContentLength((int) file.length());
                int bufferSize = 64 * 1024;
     
                from = new BufferedInputStream(new FileInputStream(file), bufferSize * 2);
                byte[] bufferFile = new byte[bufferSize];
     
                for (int i = 0;; i++) {
     
                    int len = from.read(bufferFile);
     
                    if (len < 0) {
                        break;
                    }
     
                    out.write(bufferFile, 0, len);
                }
                out.flush();
     
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (from != null) {
                    try {
                        from.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                if (out != null) {
                    try {
                        out.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                if (file != null) {
                    try {
                        file.delete();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
     
        }
    et j'ai une erreur de nullpointer au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.setContentType("application/pdf");

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    en même temps t'as mis response à null. L'objet response, il est fournis à la servlet en paramètre de ta méthode doGet/doPost.

Discussions similaires

  1. Utilisation de MySQL coté client
    Par ghostdog_rm dans le forum Installation
    Réponses: 3
    Dernier message: 31/01/2006, 23h22
  2. Probléme cache avec IE et XML/XSL coté client.
    Par rataflo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 06/08/2005, 19h06
  3. ouvrir un fichier excel coté client
    Par youss dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 27/07/2005, 14h42
  4. [Indy] Intercepter les messages coté client
    Par PpPool dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2005, 10h19
  5. [Concept] Curseur coté client et curseur coté serveur
    Par freud dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/09/2002, 22h13

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