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

Jasper Discussion :

insérer un rapport dans une page Web


Sujet :

Jasper

  1. #1
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut insérer un rapport dans une page Web
    Bonjour,

    Je souhaite insérer un rapport Jasper à l'intérieur d'une page web. j'aimerai autant que possible éviter les frames.

    j'ai tenté ca afin de récupéré le code html en format String:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JasperExportManager.exportReportToHtmlFile(jasperPrint, htmlRapport);
    mais il me remonte une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error creating to file writer : htmlRapport
    mon jasperPrint est ok, je l'ai testé avec le viewer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JasperViewer.viewReport(jasperPrint);
    Autre chose, lorsque j'ouvre le rapport via le viewer, je n'ai aucun soucis en local, par contre depuis un PC distant, le viewer s'ouvre sur le serveur et non pas sur le poste distant. Avez vous déjà eu ce problème? de quoi s'agit-il et comment le résoudre?
    Concernant le viewer, peut on le configurer, c'est à dire paramétré les format d'enregistrement, et la barre d'outils?
    Et peut on insérer le viewer dans une page web? ça serai peut être la solution à mon problème.

    et enfin, lorsque je ferme le viewer via la croix, il m'arrête mon tomcat par la même occasion ce qui est plutôt génant. Vous avez une idée de quoi ça peut venir?

    Merci de vos réponses.

  2. #2
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut,

    Je peux te répondre déjà sur un point (c pas le plus intéressant mais bon ) suite à la lecture de ton post :

    et enfin, lorsque je ferme le viewer via la croix, il m'arrête mon tomcat par la même occasion ce qui est plutôt génant. Vous avez une idée de quoi ça peut venir?
    tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JasperViewer.viewReport(jasperPrint, false);
    Sinon, une question:

    TestRapport == HtmlRapport dans ton post ????

  3. #3
    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
    Tu peux jeter un oeil sur cet article (mon article ) ici.
    Il explique comment éditer un état Jasper à partir d'une application JSF.
    Bon courage

  4. #4
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut
    tu fais:
    Code :

    JasperViewer.viewReport(jasperPrint, false);
    ce point est résolu, merci,

    TestRapport == HtmlRapport dans ton post ????
    c'est touts a fait exact, je fai un edit de mon 1er post


    Citation Envoyé par JauB Voir le message
    Tu peux jeter un oeil sur cet article (mon article ) ici.
    Il explique comment éditer un état Jasper à partir d'une application JSF.
    Bon courage
    j'y vais de ce pas

  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
    Points : 3 390
    Points
    3 390
    Par défaut
    Pour l'affichage,

    Tu passes par une jsp et dedans ce code de jauB:
    http://www.developpez.net/forums/d57...df-partir-jsp/


    Pour
    Autre chose, lorsque j'ouvre le rapport via le viewer, je n'ai aucun soucis en local, par contre depuis un PC distant, le viewer s'ouvre sur le serveur et non pas sur le poste distant. Avez vous déjà eu ce problème? de quoi s'agit-il et comment le résoudre?
    J'aimerais bien avoir la solution, car je vais sûrement avoir le problème que toi, bientôt

    Viewer dans une page Web, je crois que celà n'est pas possible, j'avais déjà cherché ... un petit temps quand même ... mais peut être que je me plante

  6. #6
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut
    Citation Envoyé par Fench Voir le message
    Viewer dans une page Web, je crois que celà n'est pas possible, j'avais déjà cherché ... un petit temps quand même ... mais peut être que je me plante
    bien sur, si j'utilise le viewer, il n'est plus question d'insérer le rapport dans une page web. J'aimerai pourvoir le customiser par contre.

    pour l'ouverture du viewer sur le poste distant, je cherche encore mais...

  7. #7
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Attention

    Le viewer est indépendant de l'application (d'ailleurs c'est pour celà qu'il y a des problemes d'affichage) ET c'est pour celà que l'on cherche à l'ancrer dans une page (pour avoir les fonctionnalités du viewer sans les inconvénients si je puis dire). Sinon, un truc simple, une jsp avec un textearea puis dans une String le fichier Xml et le tour est joué.

    Sinon, je te soutiens moralement dans tes recherches sur l'affichage, et je te ferais un grand merci pour la solution :

  8. #8
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut
    Bon j'ai creusé et je suis tombé la dessus et par extension.
    Je me suis inspirer de JSP Page By Page Viewer.
    l'idée est d'utiliser la classe JRHtmlExporter

    j'ai adapté à ma sauce et Grosso modo ca me donne ca :
    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
     
    JasperPrint jasperPrint = (JasperPrint)session.getAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE);
     
        if (jasperPrint == null)
        {
            conn = (Connection) session.getAttribute("conn");
            parameters = (Map) session.getAttribute("MapParam");
            cheminRapport = (String) session.getAttribute("Chemin");
     
            try {
                jasperPrint = JasperFillManager.fillReport(cheminRapport, parameters, conn);
            } catch (Exception e) {
                throw new trace.ApplicationException("Impossible de remplir le rapport : " + e.getMessage());
            }
    JRHtmlExporter exporter = new JRHtmlExporter();
    StringBuffer sbuffer = new StringBuffer();
     
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_STRING_BUFFER, sbuffer);
        exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "./image/");
        exporter.setParameter(JRExporterParameter.PAGE_INDEX, new Integer(pageIndex));
        exporter.setParameter(JRHtmlExporterParameter.HTML_HEADER, "");
        exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING, "UTF-8");
        exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, "");
        exporter.setParameter(JRHtmlExporterParameter.HTML_FOOTER, "");
     
        exporter.exportReport();
    puis j'ai construis ma page web comme je le voulais et j'ai affiché le rapport :
    il me reste 2 problèmes :

    • RHtmlExporterParameter.IMAGES_URI : je n'ai pas trouver le chemin correspondant, je ne sais pas ou trouver les images de mon rapport
    • JRHtmlExporterParameter.CHARACTER_ENCODING : les accents ne passent pas, je suppose que ca vient du CHARACTER_ENCODING, mais je ne sais pas comment trouver l'encoding du rapport. J'ai essayer en lui pasasnt UTF-8 mais nan

  9. #9
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut
    Bon j'ai résolu le problème encoding, j'utilise ISO-8859-9 comme encodage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING, "ISO-8859-9");
    Par contre j'ai toujours un souci avec les images. En rajoutant ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
            exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
    ca ma permis de supprimer l'appel a l'image "px" générer par jasper, par contre mes images à moi ne s'affiche toujours pas

  10. #10
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut,

    Ce jeu de caractères est conçu spécialement pour le turc. Il est basé sur le jeu de caractères iso 8859-1, mais contient à la place des signes spéciaux islandais les signes turcs.
    C'est pour celà que tu as des problèmes avec les pc distants.

    Ne tiens pas compte de mon humour désastreux

    iso-8859-1 aurait suffit non !

  11. #11
    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
    Tu testes avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,"image.jsp?image=");

  12. #12
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Regardes sinon le lien
    http://www.developpez.net/forums/d38...-non-visibles/

    Edit: Désolé cela fait un peu doublon avec toi @jaub

    Edit: Remarquez que y a une explication derrière quand même

  13. #13
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut
    @Jaub : j'avais déjà essayé mais rien en change

    @Fench : j'ai rajouté les paramètres concernant les images, mais pareil, rien n'y change.



    de plus je me suis aperçu que coté mise en page, elle ne respecte pas celle de mon rapport d'origine, et coté donnée, certaine ne s'affiche pas.
    Par contre lorsque j'imprime le rapport, j'ai aucun soucis : image présente, mise en page respecté, donnée présente

  14. #14
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Essayes ce lien ici

    Il y a plus d'explications

  15. #15
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Je reviens à la charge

    As tu trouvé la raison de ton jasperViewer qui s'ouvre sur le serveur ???

  16. #16
    Membre actif

    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Points : 269
    Points
    269
    Par défaut
    Euh... C'est une question piège là?
    Le viewer est une application java qui s'éxécute en local: comment voudrais-tu déporter l'affichage de ton appli sur ton poste client?
    Si tu veux absolument visualiser ton rapport avec JasperViewer, il te faut installer l'application sur ton poste client (avec un applet par exemple), sérialiser le JasperPrint et l'envoyer à ton application.
    En ce qui concerne la fermeture de Tomcat en même temps que la fenêtre du viewer, il s'avère que l'événement est associé à un System.exit(0); qui "tue" la JVM. Si tu veux changer ce comportement, il te faudra surcharger la méthode adéquate.

  17. #17
    Membre habitué
    Avatar de CPI_en_mousse
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 332
    Points : 168
    Points
    168
    Par défaut
    Pour eviter de tuer la jvm, rajoute le paramètre false :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JasperViewer.viewReport(jasperPrint, false);
    Pour le viewer par contre c'est exact, donc j'ai abandonné cette idée et j'utilise le jrHtmlExporter comme décrit précédemment. j'ai encore les soucis décrit d'ailleurs, notamment l'affichage des images

Discussions similaires

  1. Insérer video dans une page web et mobile
    Par ze0ne dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 05/12/2012, 18h01
  2. Réponses: 5
    Dernier message: 27/06/2011, 10h59
  3. Réponses: 2
    Dernier message: 19/04/2010, 15h03
  4. [applet] lancer une applet mais dans une page web
    Par dzincou dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 11/08/2004, 13h32
  5. Insérer un fichier dans une page web
    Par Mad666 dans le forum ASP
    Réponses: 6
    Dernier message: 05/05/2004, 11h22

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