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

XSL/XSLT/XPATH XML Discussion :

[XSL-FO] Afficher une image avec XSL


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier Avatar de HebusBreizh
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 82
    Points
    82
    Par défaut [XSL-FO] Afficher une image avec XSL
    Bonjour,

    Je dois générer un document pdf à partir d'un document xml généré par une applet java:
    - dans l'applet java, je clique sur un bouton "print"
    - cela génère un document xml
    - ce document est mis en forme par un document xsl

    J'affiche l'image ainsi:
    <fo:external-graphic src="url('src/images/monImage.gif')"></fo:external-graphic>

    Lorsque j'execute le programme sous eclipse, l'image s'affiche.
    En revanche, lorsque je génère un .jar et que je l'execute, l'image n'est pas affichée et je recois le message d'erreur suivant:
    [ERROR] Error while creating area : Error with image URL: src\images\monImage.gif (Le chemin d'accÞs spÚcifiÚ est introuvable) and no base directory is specified

    Savez-vous comment faire pour afficher cette image?
    No guts, no glory

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    c'est assez clair. il trouve pas ton image car tu as mis un chemin relatif, et donc fonctionne sous eclipse car certainemet dans ton projet.


    mais avec ton jar il faut lui donner un chemin absolu pour qu'il trouve l'image..
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  3. #3
    Membre régulier Avatar de HebusBreizh
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 82
    Points
    82
    Par défaut
    Quelle bonne nouvelle...
    Du coup j'ai un gros doute quant au résultat de l'execution du jar sur une autre machine si je met le chemin en dur.
    No guts, no glory

  4. #4
    Membre régulier Avatar de HebusBreizh
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 82
    Points
    82
    Par défaut
    La solution serait de récupérer dans une variable le chemin de l'executable puis de concaténer avec le chemin de l'image dans le .jar

    Mais... comment récupérer ce chemin dans un document xsl??
    No guts, no glory

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Comme la en xslt : http://www.developpez.net/forums/sho...d.php?t=347674
    Ou alors il y a moyen de définir la variable basedir de fop je crois.

  6. #6
    Membre éprouvé
    Profil pro
    Responsable Dev
    Inscrit en
    Décembre 2003
    Messages
    788
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Dev

    Informations forums :
    Inscription : Décembre 2003
    Messages : 788
    Points : 1 063
    Points
    1 063
    Par défaut
    et pourquoi tu ne places pas ton image dans ton jar

  7. #7
    Membre régulier Avatar de HebusBreizh
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 82
    Points
    82
    Par défaut
    Héhé, mon image se trouve dans mon jar.
    Voilà où j'en suis pour le moment:
    - dans mon programme java, je récupère à la fois le chemin de l'executable (user.dir) et le nom de l'executable (java.class.path)
    - j'écris ce chemin dans mon xml
    - je récupère ce chemin dans une variable du xsl

    Et j'arrive à ça:
    <xsl:variable name="Path"><xsl:value-of select="/monPath"/> </xsl:variable>
    <xsl:variable name="image1Path"><xsl:value-of select="concat($Path, 'image1.gif')"/></xsl:variable>
    <xsl:variable name="image2Path"><xsl:value-of select="concat($Path, 'image2.gif')"/></xsl:variable>

    Je demande ensuite l'affichage de ces images:
    <fo:external-graphic src="url({$image1Path})"></fo:external-graphic>

    Et j'ai à mon grand dam l'erreur suivante:
    [ERROR] Error while creating area : Error with image URL: C:\Documents and Settings\Bureau\Test\MonJar.jar\images\image1.gif (Le chemin d'accÞs spÚcifiÚ est introuvable) and no base directory is specified

    Pourtant j'ai bien fait comme l'a dit valal!!! Il a un chemin absolu maintenant.
    Surement que ce n'est pas possible de récupérer l'image à l'intérieur du jar de cette manière.
    Quelqu'un saurait-il comment faire?
    Merci
    No guts, no glory

  8. #8
    Membre régulier Avatar de HebusBreizh
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 82
    Points
    82
    Par défaut
    Hélas, c'est bien ce qui me semblait, ça n'a pas grand sens de demander à xsl d'aller farfouiller à l'intérieur d'un jar.
    Il faut créer un répertoire à côté et y mettre les images dedans pour pouvoir y accéder.

    Merci à tous pour votre aide.
    No guts, no glory

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    salut,

    as-tu essayé de mettre des caractèrs spéciaux à la place de tes images.
    C'est une idée, si jamais tu veux mettre un signe Euro par exemple...

  10. #10
    Membre régulier Avatar de HebusBreizh
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 82
    Points
    82
    Par défaut
    Ca peut servir les caractères spéciaux... mais pour remplacer l'image qu'il me faut, je ne crois pas qu'il en existe qui puisse me convenir
    No guts, no glory

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Ok

Discussions similaires

  1. [XSL-FO] Afficher une image
    Par pilz dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 10/02/2010, 11h32
  2. Afficher une image avec PHP
    Par a_zouggari dans le forum Langage
    Réponses: 2
    Dernier message: 22/04/2006, 18h02
  3. Afficher une image avec opengl
    Par kmaniche dans le forum OpenGL
    Réponses: 4
    Dernier message: 07/02/2006, 09h04
  4. Afficher une image avec swing
    Par arnonote dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 07/08/2004, 12h10
  5. PL/SQL - Comment afficher une image avec HTP ?
    Par patmaba dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/07/2004, 09h28

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