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 :

ouvrir un fichier PDF


Sujet :

Documents Java

  1. #1
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Par défaut ouvrir un fichier PDF
    bonsoir

    j'ai crée une class en java qui me génère un raport "ireport"
    voici une partie de son code:

    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
      //chargement et compilation du sous-rapport
     
    	    JasperDesign jasperDesign1 = JRXmlLoader.load("G:\\bon\\ordre transfert.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("G:\\bon\\ordre transfert.jrxml");
     
     
    	    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    	    // - Execution du rapport
    	    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, con);
    	    // pour l'affichage
    	   JasperViewer.viewReport(jasperPrint,false);
    ça marche bien et le rapport s'ouvre avec "JasperViewer"
    moi je veux l'ouvrir en tant que fichier PDF
    comment je transform le "jasperPrint" généré en fichier "PDF" et comment je peux l'ouvrir?? ,je veux enlever:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JasperViewer.viewReport(jasperPrint,false);
    MERCI DE ME REPONDRE

  2. #2
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 097
    Par défaut Solution possible
    Si vous pouvez envoyer votre résultat vers une imprimante, il vous suffit d'installer PDF Creator par exemple. De configurer ce dernier pour qu'il ne pose pas de question et enregistre les fichiers avec dans le nom la date et l'heure, histoire de ne pas avoir à intervenir entre deux créations, le tout dans un dossier bien précis.
    Une fois cela en place, pour obtenir un PDF parfaitement formé à partir de votre résultat, il suffit d'en demander l'impression par l'imprimante PDF Creator...
    En effet, je crois que le java ne sait pas produire du PDF.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Salut je ne comprends pas cette partie de ton 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
     
    	    JasperDesign jasperDesign1 = JRXmlLoader.load("G:\\bon\\ordre transfert.jrxml");
    	    JasperReport jasperReport1 = JasperCompileManager.compileReport(jasperDesign1);
    		    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);
     
    ET
     
    	   JasperDesign jasperDesign = JRXmlLoader.load("G:\\bon\\ordre transfert.jrxml");    
    	    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    	    // - Execution du rapport
    	    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, con);
    Tu compiles deux fois le même fichier jrxml en jasper, puis tu balances deux fois un fillReport sur les mêmes données
    Bon c peut être un copie/coller de trop.

    Sinon, après avoir créé le report, tu peux l'exporter en PDF avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JasperExportManager.exportReportToPdfFile( jasperPrint, file.pdf" );
    Et utiliser une ouverture pdf ou itext (pour la création) ou la classe java.awt.Desktop etc ...

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    JasperExportManager.exportReportToPdfFile( jasperPrint, file.pdf" );
    Et utiliser une ouverture pdf ou itext (pour la création) ou la classe java.awt.Desktop etc ...
    est ce que vous pouvez me donner plus de détail comment je puisse ouvir
    "file.pdf"??

    merci

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Une fois le fichier transféré en pdf tu as différentes possibilités:

    Soit ouvrir un viewer pdf: voir le lien (1 ex ici avec adobe)
    http://www.adobe.com/products/acrvie...me=Accept#java

    Soit utiliser une class jave: voir le lien (1 ex)
    https://jdic.dev.java.net/nonav/docu...p/Desktop.html

    Bref il doit y avoir bq de possibilités !!!

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Par défaut
    concernant la Class Desktop, d'aprés ce que j'ai lu dans la doc

    Java SE version 6 fournit "Desktop API" ,moi je travail avec "my eclips 5.1.1"

    y'a pas une equivalente de cette API pour une version inférieur à 6

    sinon une autre solution pour ouvrir le fichier"pdf"

    merci de me répondre

  7. #7
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Je crois que tu confonds JDK et EDI.

    Java SE version 6, c'est le JDK = Bibliothèque standard Java (+d'autres choses) qui est indépendant de l'EDI (donc que ce soit Eclipse, netbeans ou autres).

    Donc la solution est valable à moins que tu utilises un vieux JDK (dont le numéro de version n'a aucun rapport avec le numéro de version de ton EDI)

  8. #8
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Par défaut
    moi je j'ai le jdk1.5.0
    normalement pour travailler avec cette class on doit l'importer,quand j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    import  java.awt.Desktop;
    y'avait une erreur devant cette ligne
    je ne comprend pas ,pourriez vous me dire pourquoi?

  9. #9
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Par défaut
    pour travailler avec la class Desktop on doit l'importer,quand j'ai fait ça :

    Code :

    import java.awt.Desktop;
    y'avait une erreur devant cette ligne
    je ne comprend pas ,pourriez vous me dire pourquoi,que dois je ajouter?

    sinon y'a pas une autre solution en java pour ouvrir un pdf(je ve pas utiliser le un viewer pdf)

    merci de me répondre car je suis vraiment bloqué

  10. #10
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par john_wili Voir le message
    pour travailler avec la class Desktop on doit l'importer,quand j'ai fait ça :

    Code :

    import java.awt.Desktop;
    y'avait une erreur devant cette ligne
    je ne comprend pas ,pourriez vous me dire pourquoi,que dois je ajouter?

    sinon y'a pas une autre solution en java pour ouvrir un pdf(je ve pas utiliser le un viewer pdf)

    merci de me répondre car je suis vraiment bloqué
    Bonjour,

    Sur la documentation de Sun : http://java.sun.com/javase/6/docs/ap...t/Desktop.html .

    Tu peux voir que la classe n'est disponible que depuis la version 1.6 du JDK et apparemment tu as la 1.5...

  11. #11
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Par défaut
    je suis encor bloqué pour ouvrir mon pdf
    la classe Desktop n'est disponible que depuis la version 1.6 du JDK et moi j'ai le 5 et je veux pas avoir des problèmes en changent le "jdk"

    j'ai touvé la solution suivante:
    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
     
     Runtime runtime = Runtime.getRuntime(); 
    		  try 
    		  { 
    		  runtime.exec(new String[] // 2 parametres pris dans un tableau, l'appli et le pdf 
    		  { 
    		  "C:\\Program Files\\Adobe\\Acrobat 7.0\\Reader\\AcroRd32.exe", 
    		  "C:\\Documents and Settings\\Admin\\Mes documents\\rapport4.pdf"} ); 
    		  } 
     
    		  catch(Exception err) 
     
    		  { 
    		  System.out.println("err = " + err); 
    		  }
    mais cette solution n'est pas portable si on change le chemin du "reader"

    jai vu dans une discussion la solution de "l'accès fichier classique (java.io...)"
    comment la réaliser

    merci de me répondre

Discussions similaires

  1. [JDBC]ouvrir un fichier pdf à partir d'un blob
    Par souletis dans le forum JDBC
    Réponses: 5
    Dernier message: 25/01/2007, 21h03
  2. [C#] Ouvrir un fichier PDF dans une autre fenetre
    Par ZePostman dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/03/2006, 13h41
  3. [CGI] Ouvrir un fichier pdf
    Par Luffy Duck dans le forum Autres langages pour le Web
    Réponses: 2
    Dernier message: 09/12/2005, 09h21
  4. [FLASH MX2004] Ouvrir un fichier PDF
    Par james west dans le forum Flash
    Réponses: 1
    Dernier message: 28/09/2005, 10h42
  5. Réponses: 9
    Dernier message: 20/06/2005, 16h47

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