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

avec Java Discussion :

affichage d'un pdf


Sujet :

avec Java

  1. #1
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut affichage d'un pdf
    bonjour

    j'ai crée une class ,elle me génère le rapport de "jasper ireport" et le pdf correspondant
    voici son code:
    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
     
    JasperDesign jasperDesign1 = JRXmlLoader.load("C:\\Documents and Settings\\Mes documents\\ireport_raport\\classic2.jrxml");
        JasperReport jasperReport1 = JasperCompileManager.compileReport(jasperDesign1);
        // - Paramètres à envoyer au rapport
        Map parameters = new HashMap();
        parameters.put("Titre", "Titre"); 
        parameters.put("param1",new String ("'"+txt+"'"));
       parameters.put("param2", new String("'"+txt1+"'"));
        parameters.put("param3", new String("'"+txt2+"'"));
     
     
     
     
        JasperPrint jasperPrint1 = JasperFillManager.fillReport(jasperReport1, parameters, con);
        // Chargement et compilation du rapport
     
        JasperDesign jasperDesign = JRXmlLoader.load("C:\\Documents and Settings\\Mes documents\\ireport_raport\\classic2.jrxml");
     
        JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
        // - Execution du rapport
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, con);
        // pour l'affichage
        JasperViewer.viewReport(jasperPrint);
        // - Création du rapport au format PDF
        JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\Documents and Settings\Mes documents\\ireport_raport\\rapport2.pdf");
     
       } 
     
    catch (JRException e) {
         e.printStackTrace();
        } 
    catch (Exception ex) {
    ex.printStackTrace();
    }
    le rapport s'affiche avec "JasperViewer" et c'est normal car j'ai mis dans le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JasperViewer.viewReport(jasperPrint);
    mais moi je veux quand j'éxecute la class il m'affiche le "pdf" directement

    je dois ajouter quoi au program??

    merci de me répondre

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    Il faut bien que tu lances un programme de visualisation de PDF pour qu'il "s'affiche". Tu peux lancer acrobat reader avec ton pdf en argument si tu préfères.

  3. #3
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    moi je dois ajouter quoi au program pr pouvoir le visualiser avec "acrober reader" aprés l'éxecution de la class

    je dois mettre quoi au lieu de ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
     JasperViewer.viewReport(jasperPrint);
    merci

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Bonjour,



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
             Runtime runtime = Runtime.getRuntime();
             try
             {
                runtime.exec(new String[]
                            { "C:\\Le Chemin De Ton Reader\\Ton Reader.exe",
                               "C:\\Le Chemin De Ton PDF\\Ton PDF.pdf"});  
             } 
                 catch(Exception err)
                {
                   System.out.println("err = " + err);
                }
    Cordialement.

    Dan

  5. #5
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    bon j'ai ajouté ça à ma class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Runtime runtime = Runtime.getRuntime();
    try
    {
       runtime.exec(new String[]
     
                   {"C:\\Program Files\\Adobe\\Acrobat 7.0\\Acrobat.exec",
                   	"C:\\Documents and Settings\\Mes documents\\ireport_raport\\rapport2.pdf"});  
    } 
        catch(Exception err)
       {
          System.out.println("err = " + err);
       }

    mais il PDF ne s'ouvre pas en plus j'ai dans la console l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    err = java.io.IOException: CreateProcess: "C:\Program Files\Adobe\Acrobat 7.0\Acrobat.exec" "C:\Documents and Settings\naima.nabi\Mes documents\ireport_raport\rapport2.pdf" error=2
    je ne comprend pas c'est quoi cette erreur??

  6. #6
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Le problème d'utiliser runtime.exec, c'est que ça ne fonctionnera que sous Windows, et encore à condition que Acrobat soit bien installé dans le répertoire que tu spécifie.

    Si tu as Java 1.6, il y a plus simple et propre pour lancer un fichier avec son application par défaut : la classe java.awt.Desktop:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Desktop.getDesktop().open(fichier);
    Théoriquement il faudrait auparavant détecter si l'OS supporte la commande, toujours via la classe Desktop. Mais tous les OS depuis au moins Windows 3.0 gèrent les applications par défaut, donc je pense qu'il est inutile de s'encombrer de ce test.

    Si tu as une version antérieure de Java ,tu peux avoir l'équivalent de la classe Desktop via la librairie JDIC. Mais ça t'obligera à avoir une dépendance avec une bibliothèque qui fait appel à du code natif.

    Si tu souhaite tout de même utiliser Runtime.exec, la commande "Acrobat.exec" me parait suspicieuse, ça devrait être "Acrobat.exe".
    Enfin sache que si tu utilises la classe Runtime pour lancer une application sous Linux,Mac ou windows avec console (ça n'est pas le cas d'Acrobat), il te faudra fermer les flux d'entrée/sortie/erreur du processus créé pour éviter un blocage.

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Bonjour,

    Effectivement, c'est bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"C:\\Program Files\\Adobe\\Acrobat 7.0\\Acrobat.exe",
    qu'il devrait y avoir

    Pardon pour cette erreur qui est corrigée dans ma réponse!

    cordialement.

    Dan

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/10/2007, 12h29
  2. pb affichage entre format "PDF" et "web viewer"
    Par lotfilol dans le forum BIRT
    Réponses: 8
    Dernier message: 01/08/2007, 16h21
  3. Affichage web de PDF
    Par cfrelet dans le forum Outils
    Réponses: 7
    Dernier message: 07/12/2006, 15h46
  4. [pdf][jframe] affichage d'un PDF dans un JFrame
    Par r.matha dans le forum Documents
    Réponses: 3
    Dernier message: 06/10/2006, 15h00
  5. Affichage de documents PDF
    Par Dajon dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/10/2002, 11h36

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