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 :

[Servlet]Problème JRHtmlExporter images non visibles ?


Sujet :

Jasper

  1. #1
    Membre éprouvé
    Avatar de lazarel
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2007
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2007
    Messages : 893
    Points : 1 164
    Points
    1 164
    Par défaut [Servlet]Problème JRHtmlExporter images non visibles ?
    Bonjour,


    J'ai un problème au niveau des images lors de la génération de rapport en HTML dans une application WEB (Tomcat 5.5).En fait je n'arrive pas à afficher les images de mon rapport (logos) pour la génération de rapport en format HTML.

    Dans mon rapport celle-ci est définie par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new java.io.File($P{BaseDir},"logo.jpg")
    BaseDir étant de type String est correspondant au chemin suivant /report/jasper/image dans mon application WEB.

    Dans ma servlet j'utilise ceci :
    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
     
    response.setContentType("text/html");
    response.setHeader("Content-disposition", "filename="+realName+".html");
     
    JRHtmlExporter exporter = new JRHtmlExporter();
     
    exporter.setParameter(JRHtmlExporterParameter.JASPER_PRINT, print);
    exporter.setParameter(JRHtmlExporterParameter.OUTPUT_STREAM, servletOutputStream);
     
    exporter.setParameter(JRHtmlExporterParameter.OUTPUT_WRITER,out);
    HashMap<Object, Object> fontMap = new HashMap<Object, Object>();
     
    Map<String, Object> imagesMap = new HashMap<String, Object>();
    imagesMap.put("logo.jpg", getServletContext().getRealPath("/report/jasper/image/logo.jpg"));
     
    request.getSession().setAttribute("IMAGES_MAP",imagesMap);             
    exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP,imagesMap);
     
    exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,"/report/jasper/image?image=");
    exporter.setParameter(JRHtmlExporterParameter.IMAGES_DIR_NAME,getServletContext().getRealPath("/report/jasper/image"));
     
    exporter.setParameter(JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR,Boolean.TRUE);
    exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,Boolean.FALSE);
    exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.FALSE);
    exporter.setParameter(JRHtmlExporterParameter.SIZE_UNIT, "px");
    exporter.setParameter(JRHtmlExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);
    exporter.setParameter(JRHtmlExporterParameter.FONT_MAP, fontMap);
     
    exporter.exportReport();
     
    servletOutputStream.flush();
    servletOutputStream.close();
    Mon image se situe donc dans /report/jasper/image et se nomme logo.jpg.

    Le problème c'est que lors de la génération du code HTML j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="/report/jasper/image?image=img_0_0_0" border="0" style="width: 70px" alt=""/>
    Donc le problème vient forcément de la mais je ne sais pas comment faire pour y remédier.

    J'accepte toutes les bonnes volontés

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut c'est dans la synthaxe de l'URI
    Citation Envoyé par lazarel Voir le message
    Bonjour,

    Comme tu l'as déjà remarqué, je pense que ton problème c'est dans la synthaxe de l'URI, en fait, tu dois préciser le nom de ton fichier image "logo.jpg" avant le "?" càd tu dois préciser pour IMAGES_URI la chaîne suivante:
    "/report/jasper/image/logo.jpg?image=" et normalement, ça doit marcher.

    Bonne chance



    J'ai un problème au niveau des images lors de la génération de rapport en HTML dans une application WEB (Tomcat 5.5).En fait je n'arrive pas à afficher les images de mon rapport (logos) pour la génération de rapport en format HTML.

    Dans mon rapport celle-ci est définie par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new java.io.File($P{BaseDir},"logo.jpg")
    BaseDir étant de type String est correspondant au chemin suivant /report/jasper/image dans mon application WEB.

    Dans ma servlet j'utilise ceci :
    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
     
    response.setContentType("text/html");
    response.setHeader("Content-disposition", "filename="+realName+".html");
     
    JRHtmlExporter exporter = new JRHtmlExporter();
     
    exporter.setParameter(JRHtmlExporterParameter.JASPER_PRINT, print);
    exporter.setParameter(JRHtmlExporterParameter.OUTPUT_STREAM, servletOutputStream);
     
    exporter.setParameter(JRHtmlExporterParameter.OUTPUT_WRITER,out);
    HashMap<Object, Object> fontMap = new HashMap<Object, Object>();
     
    Map<String, Object> imagesMap = new HashMap<String, Object>();
    imagesMap.put("logo.jpg", getServletContext().getRealPath("/report/jasper/image/logo.jpg"));
     
    request.getSession().setAttribute("IMAGES_MAP",imagesMap);             
    exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP,imagesMap);
     
    exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,"/report/jasper/image?image=");
    exporter.setParameter(JRHtmlExporterParameter.IMAGES_DIR_NAME,getServletContext().getRealPath("/report/jasper/image"));
     
    exporter.setParameter(JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR,Boolean.TRUE);
    exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,Boolean.FALSE);
    exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.FALSE);
    exporter.setParameter(JRHtmlExporterParameter.SIZE_UNIT, "px");
    exporter.setParameter(JRHtmlExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);
    exporter.setParameter(JRHtmlExporterParameter.FONT_MAP, fontMap);
     
    exporter.exportReport();
     
    servletOutputStream.flush();
    servletOutputStream.close();
    Mon image se situe donc dans /report/jasper/image et se nomme logo.jpg.

    Le problème c'est que lors de la génération du code HTML j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="/report/jasper/image?image=img_0_0_0" border="0" style="width: 70px" alt=""/>
    Donc le problème vient forcément de la mais je ne sais pas comment faire pour y remédier.

    J'accepte toutes les bonnes volontés

Discussions similaires

  1. Problème removeRange méthode non visible
    Par michelp3 dans le forum Langage
    Réponses: 7
    Dernier message: 31/01/2012, 12h12
  2. Images non visibles dans les boutons Gtk
    Par Achimogata dans le forum GTK+
    Réponses: 3
    Dernier message: 02/12/2009, 20h20
  3. Image non visible dans Infopath
    Par billout rm dans le forum InfoPath
    Réponses: 0
    Dernier message: 15/11/2007, 10h30
  4. [image]Image non visible !
    Par nimois3O dans le forum Word
    Réponses: 9
    Dernier message: 24/06/2007, 14h42
  5. image non visible
    Par christi dans le forum ASP.NET
    Réponses: 16
    Dernier message: 14/02/2007, 10h37

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