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

iReport Discussion :

s'affranchir de la compilation


Sujet :

iReport

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut s'affranchir de la compilation
    Est il possible de s'affranchir de la compilation du *.jrxml dans le code java et d'éxécuter directement le *.jasper?

    explication:
    Lorsque un report contient des subreports, le main report appelle les subreports avec les extension *.jasper ce qui signifie que les subreports on était compilé par iReport préalablement. Il est quand même plus agréable pour une application de livré que des fichiers déjà compilé(gain de ressource et de performance).

    Merci

  2. #2
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    onjour @yaya0057.
    Bien évidemment que c'est possible de ne livrer que son ficher Jasper sans le Jrxml, d'ailleurs la recommandation est d'attaquer des fichiers déjà compilés plutôt que passer par iReport, cela a été dit plusieurs fois sur la rubrique de Jasper.
    Pour le comment, si tu jettes un oeuil sur mon article ici, tu verras que c'est simple à mettre en oeuvre. En effet, le bout de code suivant permet de faire l'affaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    //PATH_OF_REPORTS_JASPER : Chemin du répertoire de tes fichiers Jasper
    File file = new File(PATH_OF_REPORTS_JASPER);
    JasperPrint jasperPrint = JasperFillManager.fillReport(
    new FileInputStream(new File(file, youJasper.jasper)),
    null, connection);
    // Pour un export PDF
    byte[] bytes = JasperExportManager.exportReportToPdf(jasperPrint);
    Et voilà le tour est joué.
    Bonne fin de semaine
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  3. #3
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut
    Merci à toi,

    en vadrouillant un peu à doite à gauche j'avait également trouvé la solution mais un grand merci à toi de me la confirmer.

    Peut être pourras tu m'éclairer, car avant je compiler mon fichier jrxml avec cette commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    jasperDesign = JRXmlLoader.load(templatePath);
    jasperReport = JasperCompileManager.compileReport(jasperDesign);
    et maintenant j'applique ta méthode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    InputStream jasperReportStream = getClass().getClassLoader().getResourceAsStream(templatePath);
    jasperPrint = JasperFillManager.fillReport(jasperReportStream, parameters, curConnection);
    Le souci vient du fait que lorsque j'effectue le il me renvoie null alors que lorsque je compilais le jrxml je n'avait pas de souci, et comme tu peux le voir les deux fichiers se trouve sous la même arbo

  4. #4
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Là tu dois nous poster tout le code que tu utilisais avant et celui que tu as actuellement pour te suivre de près
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  5. #5
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut
    Voilà le 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
     
    // Inint de la connexion
    initCurrentConnection();
    // Récup de la connexion
    curConnection = getCurrentConnection();
     
    // Ancien code, chargement et compilation du jrxml
    jasperDesign = JRXmlLoader.load(templatePath);
    jasperReport = JasperCompileManager.compileReport(jasperDesign);
     
    // Nouveau code, sans compilation du jrxml, appel directement du jasper 
    // Lorsque le fichier est sous cette arborescence cela fonctionne
    InputStream jasperReportStream = getClass().getClassLoader().getResourceAsStream("conf/server/insuranceContract.jasper");
     
    // Mais lorsque le fichier est sous la même arbo que le jrxml cela ne fonctionne pas
    InputStream jasperReportStream = getClass().getClassLoader().getResourceAsStream(resourceName);
     
    // Régération du PDF
    jasperPrint = JasperFillManager.fillReport(jasperReportStream, parameters, curConnection);

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut
    Ayant réussi à compiler grâce àvos conseils, je clos.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/05/2008, 12h12
  2. [Installation] Borland Compiler 5.5 sous XP
    Par Ligey dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 28/09/2002, 22h45
  3. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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