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] [FOP] afficher du texte le long d'une image


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut [XSL-FO] [FOP] afficher du texte le long d'une image
    Bonjour à tous

    Je cherche à afficher dans un PDF du texte à coté d'une image (de la même façon qu'on le fait dans Word en utilisant l'habillage de l'image).
    Je voudrais que ça ressemble à ça :

    J'ai essayé pas mal de truc, le plus proche du résultats étant de mettre à la fois l'image et le texte dans le même block, dans ce cas le texte se met bien à coté de l'image mais une seule ligne s'y met impossible de le faire s'aligner au haut du block.
    J'utilise FOP 0.95.
    Est ce que quelqu'un à déjà tenté de faire un truc comme ça?


    Merci de vos réponses.
    Images attachées Images attachées  

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Points : 56
    Points
    56
    Par défaut
    Bonjour,
    Avec <fo:float float="left"> et ses attributs tu peux faire flotter ton image à gauche et comme ça le texte s'affiche tout au tour.

  3. #3
    sacha69
    Invité(e)
    Par défaut
    Bonjour,

    FOP n'implémente pas <fo:float>, j'ai eu le souci et je dois passer par un tableau.

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    FOP implémente bien la balise <fo:float> (en tout cas en 0.95). Je n'ai pas d'erreur de compilation. Par contre je n'arrive pas du tout à l'utiliser.
    Pour l'instant j'utilise des balises block-container pour placer tous mes éléments mais je n'arrive pas à afficher le texte autour de l'image. Est ce que quelqu'un aurait un exemple ou un lien sur comment utiliser cette balise.

    sacha69 tu dis que tu es passé par un tableau pour faire ça est ce que tu pourrais mettre un exemple parce que tous les essais que j'ai fais avec un tableau ont été infructueux.

    Merci d'avance.

  5. #5
    sacha69
    Invité(e)
    Par défaut
    Bizarre car j'utilise FOP 0.95 et j'ai eu une erreur de compilation qui me disait que <fo:float> n'était pas implémenté dans cette version ...

    Sinon pour le code tu fais ton tableau en définissant tes colonnes, le header puis dans le body, tu fais un table-row et dedans, tu mets ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <fo:table-cell>
          <fo:block margin-left="0.2cm" text-align="center">                        
                <fo:external-graphic content-width="5cm" content-height="5cm">
                     <xsl:attribute name="src">
                         <xsl:value-of select="photo"/>
                     </xsl:attribute>
               </fo:external-graphic>    
               <xsl:value-of select="texte"/>                               
          </fo:block>
    </fo:table-cell>
    Le fait que ce soit dans le même bloc, ton texte va aller jusqu'à la largeur de colonne que tu as précisé, et s'il est trop long, il passera en dessous.

  6. #6
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    J'ai fait comme toi mais ça me donne ça :
    Nom : texte_image2.png
Affichages : 281
Taille : 23,2 Ko

    Moi je voudrais que le texte démarre en haut de l'image mais je n'arrive pas à le forcer à aligner en haut.

  7. #7
    sacha69
    Invité(e)
    Par défaut
    Ca me donne ce résultat aussi.
    Pour le forcer en hauteur là comme ça, je ne vois pas.. je débute .
    Si un membre mieux éclairé passe par ici, je serai ravie d'apprendre la solution

  8. #8
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Ca ne semble pas possible avec des tableaux.
    Par contre avec la balise float c'est peut être jouable mais je ne vois pas du tout comment l'utiliser.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 59
    Points : 51
    Points
    51
    Par défaut
    Je sais que ca fait un peu plus d'un an que le sujet n'avance pas. Mais est-ce qu'une personne a trouvé un moyen de reproduire cette effet ?

    Pour ce qui est <fo:float>, celui-ci n'est pas supporter en 0.95 et 1.0.

  10. #10
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    De mon coté je n'ai jamais réussi, on a changé le style du PDF pour s'adapter à cette contrainte
    J'ai fini par penser que ce n'est simplement pas possible.

Discussions similaires

  1. Afficher du texte avec accents et une image
    Par totof49 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 15/01/2009, 13h53
  2. procédure stockée : afficher un texte très long
    Par trungsi dans le forum Adaptive Server Enterprise
    Réponses: 7
    Dernier message: 11/09/2008, 17h03
  3. afficher un texte assez long dans un editeur
    Par FstDsi dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 06/06/2008, 02h04
  4. Réponses: 2
    Dernier message: 07/11/2007, 10h52
  5. Afficher du texte area par dessus une image
    Par Battosaiii dans le forum Composants
    Réponses: 3
    Dernier message: 14/12/2005, 01h35

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