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

2D Java Discussion :

[JFreeChart] Comment enregistrer le graphe genéré


Sujet :

2D Java

  1. #1
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut [JFreeChart] Comment enregistrer le graphe genéré
    bon soir!
    je developpe mon application en J2EE j'utilise jfreechart pour les statistiques ,mon probléme c'est que veux sauvgarder le graphe généré par Jfreechart afin de pouvoir le consulter ulterieurement.
    SVP si quelqun a un fil a me donner ,je vous serai trés reconnaissante
    merci d'avance

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    Tu utilises quel type de client, applet, application java, servlet ?
    Tu génères une image ? -> java.io.File pour sauvegarder
    Tu utilises une applet ? -> tu n'as qu'à utiliser la serialization

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    Merci pour ta reponse OButterlin,
    mon graphe je le recupére sous forme d'image et je l'affiche dans une page JSP ,donc je veux rajouter un bouton sauvgarder dans la Jsp pour donner la possibilité à l'User de sauvgarder le graphe aprés l'affichage
    j'e travail qu'avec des pages Jsp.
    donc si j'ai bien compris ,je doit utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.io.File pour sauvegarder

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    J'ai jeté un oeil sur la doc (vite fait), il existe une méthode saveChartAsJPEG (ChartUtilities), tu devrais regarder de ce côté là
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    je te remerci pour ce fil , je vai essayer de voir avec la Doc

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Soit tu veux sauvegarder le graphe sous forme jpeg et tu utilises la méthode saveChartAsJPEG de ChartUtilities comme te l'a indiqué OButterlin.

    Quelque chose dans le style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File file = new File("C:\\Temp\\JFreeChart1.jpeg") ;
    ChartUtilities.saveChartAsJPEG(file,jFreeChart,largeur,hauteur);
    Soit tu fais un export PDF via iText.
    Modératrice Java - Struts, Servlets/JSP, ...

  7. #7
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    Merci l'Export avec saveChartAsJPEG marche impéquablement
    Je vai essayer en pdf et je vous tiendrez au courant ...

  8. #8
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    l'Export Pdf marche,merci a vous
    je donne le code pour les gens intéréssés par l'Export:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static void saveChartAsPDF(File file,
    		  JFreeChart chart,
    		  int width,
    		  int height,
    		  FontMapper mapper) throws IOException {
    		  OutputStream out = new BufferedOutputStream(new FileOutputStream(file));
    		  writeChartAsPDF(out, chart, width, height, mapper);
    		  out.close();
    		  }
    il suffit d'appler cette methode comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    File fileName = new File( "d:\\temp\\jfreechart2.pdf");
     
    saveChartAsPDF(fileName, jfreechart, 400, 300, new DefaultFontMapper());
    Sinon, le chemin du répertoire dans lequel le fichier est sauvegardé est donné par programmation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "d:\\temp\\jfreechart2.pdf"
    ,je veux récupéré le chemin à travers un composant dans la page jsp ,donc on parcourt le disque et on choisi un répertoire puis quand on clique sur le bouton sauvgarder le fichier est enregistré dans le répertoire désigné dans la Jsp ,j'ai essayer File mais ça marche pas?
    please avez vous une idée?

  9. #9
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    J'ai un doute... Tu veux sauvegarder sur le serveur ou sur le poste client ?
    Pour le 1er cas, File va bien
    Pour le 2e cas, c'est une autre histoire... il faut :
    - soit passer par FTP
    - soit passer par http comme ceci (il choisira la cible après)
    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
     
    File file = new File(leNomDeFichier);
    response.setContentType("unknown/unknown");
    response.setHeader("Content-Disposition", "attachment; filename=\"" + leNomDeFichier + "\"");
    InputStream in = new FileInputStream(file);
    ServletOutputStream out = response.getOutputStream();
    try
    {
        int bit = in.read();
        while( (bit) >= 0 )
        {
           out.write(bit);
           bit = in.read();
        }
    }
    catch (Throwable t)
    {
    ...
     }
    out.flush();
    out.close();
    in.close();
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    Merci pour ta reponse OButterlin
    je veux sauvgarder sur le client,aprés que l'utilisateur affiche le graphe je veux lui donner la posssibilité de le sauvgarder sur son pc

    pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http comme ceci (il choisira la cible après)
    Stp j'ai pas compris comment il choisit la cible ,mon probléme réside ici
    Aussi, dans le code
    comment on récupére leNomDeFichier
    Merci

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    Pour être tout à fait clair, dans la ligne new File(leNomDeFichier), c'est plutôt le chemin complet du fichier à fournir.
    Dans la partie http (response.setHeader), c'est le nom du fichier qu'on donne (il peut être différent du nom de fichier d'origine) et qui sera utilisé sur le poste client pour la question "enregistrer sous" (tu as certainement déjà vu cet écran)

    Adapte l'exemple, tu verras, ça marche...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    j'ai essayé le code de OButterlin,Effectivement ça marche pour un fichier existant déja ,mais mon probléme ce n'est pas vraiment ça
    car pour
    pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new File(leNomDeFichier),c'est plutôt le chemin complet du fichier à fournir.
    ,je n'ai pas le fichier d'orrigine ,je génere un graphe que je veux enregistrer,
    excuse moi OButterlin,mais je ne sais pas trop quoi mettre dans leNomDeFichier,j'ai pas un chemin mais j'ai plutot un graphe

  13. #13
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    Mais ta méthode saveChartAsPDF (ou saveChartAsJPEG) utilise bien un File, tu n'as qu'à l'utiliser... Quitte à utiliser un répertoire temp sur le serveur le temps du traitement
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  14. #14
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    Oui ,merci beaucoup pour ton aide
    c'est bon ça marche,je sauvgarde dans temp mon graphe avec saveChartAsPDF,puis je l'enregistre comme tu me la indiqué
    Sinon,pour l'ecran enregistrer sous ,il prend le type document donc soit:
    1. je l'enregistre tel quelle ,puis pour l'ouvrir je doit choisir l'option "Ouvrir avec"
    ou
    2. rajouter dans l'ecran enregistrer sous (.pdf),

    STP t'as pas une astuce pour rendre (.Pdf) par defaut!
    merci a Toi

  15. #15
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    rajoute le .pdf au nom du fichier : attachment; fileName="fichier.pdf"
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    bonjour!
    j'ai modifié le code comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.setHeader("Content-Disposition", "attachment; filename=\"" + leNomDeFichier +".pdf"+ "\"");
    mais ya rien qui a changé ?

  17. #17
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    Je crois bien que je n'ai pas compris ton problème...

    Peux-tu être plus précis sur ce que tu cherches à faire ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    Non au contraire t'as bien compris, parceque tu m'a aidé et j'ai resolu le probléme à 98% ,
    Il me rest just de rendre l'Enregistrement du document en Pdf(par default il s'enregistre en .do ,donc je suis obligée de faire Ouvrir avec pour pouvoir le visualiser)
    j'ai rajouter comme tu me l'a proposé le (.pdf),mais ya pas eu de changements
    Merci OButterlin

  19. #19
    Membre du Club Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Points : 60
    Points
    60
    Par défaut
    ecran1.rar

    ecran2.rar

    Pour mieux expliquer mon probléme ,j'ai joint les captures d'Ecran pour l'Enregistrement du fichier,quand je clique sur le bouton "Enregistrer Graphe" de la Jsp j'ai la capture1 qui s'affiche

    le probléme est claire dans la Capture 1 à travers le type de fichier qui est à Inconnu ,je veux le modifier à Acrobat Reader
    dans la situation actuelle je suis obligée de rajouter .pdf dans Capture2 zone "Nom du Fichier".

  20. #20
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 525
    Points
    9 525
    Billets dans le blog
    1
    Par défaut
    Peux-tu me montrer le code entièrement (la méthode qui envoie)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2014, 12h41
  2. Réponses: 9
    Dernier message: 25/07/2007, 21h24
  3. [Débutant] Comment enregistrer un graphe affiche sur une interface graphique ?
    Par tonio70140 dans le forum Interfaces Graphiques
    Réponses: 9
    Dernier message: 05/07/2007, 15h08
  4. Réponses: 1
    Dernier message: 16/04/2007, 12h19
  5. Comment enregistrer un stream de longueur fixe ?
    Par Alcarbone dans le forum MFC
    Réponses: 5
    Dernier message: 13/04/2003, 20h14

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