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] HTML + CSS+ XSL + PDF


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Points : 71
    Points
    71
    Par défaut [XSL-FO] HTML + CSS+ XSL + PDF
    Bonjour tout le monde,

    J'ai un script ANT qui génère une fichier xHTML associé à une CSS externe.
    Puis je transforme une première fois le xHTML en XSL:FO grace à une XSL (xhtml2fo-default.xsl).
    Et enfin, je transforme une deuxième fois le XSL:FO en PDF grace à FOP!

    Le problème c'est que pendant le processus, la CSS est perdu lors de la création du PDF!

    Comment je peux faire afin de générer le PDF avec le style du fichier xHTML du départ?

    Merci d'avance
    Enjoy @+

  2. #2
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    analyse ton css entrée, puis tu l adaptes au format PDF ....
    ... un flash ... et ça repart

    700R ... catch me if u can

    Best regards,
    .

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Points : 71
    Points
    71
    Par défaut
    euh, comment?

  4. #4
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    lorsque tu fais :
    Et enfin, je transforme une deuxième fois le XSL:FO en PDF grace à FOP!

    c'est en java ? as tu ton .css encore ?
    ... un flash ... et ça repart

    700R ... catch me if u can

    Best regards,
    .

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Points : 71
    Points
    71
    Par défaut
    nan, c'est toujours dans mon script ANT

  6. #6
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    bon alors tu as toujours les infos css dans ton fichier ant, tu fais en sorte que ces infos css se retrouve dasn ton fichier PDF mais elles n y sont pas ???

    c'est ca ?
    ... un flash ... et ça repart

    700R ... catch me if u can

    Best regards,
    .

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Points : 71
    Points
    71
    Par défaut
    je te suis pas

    voila le bout de script ant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      <target name="convert" description="Conversion du rapport HTML en PDF">
      <property name="filetoconvert" value="index" />
        <!-- Premiere etape xHTML en FO -->
        <xslt in="C:\data\rapports\ref\resume\${filetoconvert}.html" out="C:\data\rapports\ref\resume\${filetoconvert}.fo" style="xhtml2fo-default.xsl" />
        <!-- Deuxieme etape FO en PDF -->
        <fop format="application/pdf"
            fofile="C:\data\rapports\ref\resume\${filetoconvert}.fo"
            outfile="C:\data\rapports\ref\resume\${filetoconvert}.pdf" force="true" />
      </target>

  8. #8
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    ton probleme c'est de ne pas pouvoir appliquer ta mise en page a ton PDF.
    ta mise en page c'est ton css.

    questions :
    les infos css tu les as quelques part durant toute la durée de l appli ?

    si non : faut que tu te debrouille pour les garder jusqu a la creation du PDF.
    si oui : comment relie tu les informations css et le doc PDF pour appliquer la mise en forme ?



    ... un flash ... et ça repart

    700R ... catch me if u can

    Best regards,
    .

  9. #9
    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
    Ce qu'il y a c'est que ton xhtml2fo-default.xsl est sans doute une feuille de style xsl-t générique et n'est pas faite pour prendre en compte ton css (Ca serait d'ailleurs assez difficile à faire).
    Le css n'est compris que par le navigateur et pas par les moteurs de rendu XSL-FO comme FOP.
    Un document XSL-FO est déja sensé être mis en forme.

    Tu seras, à mon avis, obligé de développer toi même un composant (xslt, java ou autre) pour transformer ton xsl-t générique en xsl-t tenant compte de ton fichier css.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Points : 71
    Points
    71
    Par défaut
    @laurentibus : en faite, mon fichier html j'ai une link qui pointe vers ma css.
    je peux a tout moment retrouvé le fichier css ou chargé le contenu de la css dans une variable.

    @Morbo : oui effectivement mon fichier XSL est un fichier générique.

    extrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	<xsl:attribute-set name="hr">
    		<xsl:attribute name="border">1px inset</xsl:attribute>
    		<xsl:attribute name="space-before">0.67em</xsl:attribute>
    		<xsl:attribute name="space-after">0.67em</xsl:attribute>
    	</xsl:attribute-set>
    ce fichier fait de meme pour toutes les balises html.

    Si j'ai bien compris, il faut que je continue ce fichier mais en gérant mes classes
    <xsl:attribute-set name="nomDeMaClasse">...

  11. #11
    Membre éprouvé Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 908
    Points
    908
    Par défaut
    ben il faut que tu récupérè les données de ton css, et que lorsque tu créer ton fichier PDF tu les utilise pour la mise en forme.

    il faut que tu te renseigne sous la mise en forme adobe (cf site officiel)
    car le format utilise aussi des balises mais toute a fait differente ( chiffre pas tres evocateur ) donc il faudrat que tu applique un traitement a tes infos css pour en faire des infos PDF .............. et le tour est joué !! :!

    yeah yeah
    ... un flash ... et ça repart

    700R ... catch me if u can

    Best regards,
    .

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 84
    Points : 71
    Points
    71
    Par défaut
    Merci a tous les deux!

    je vous tiens au courant!

  13. #13
    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
    C'est plutôt le site de FOP qu'il faut regarder, car, si j'ai bien compris, tu cherches à modifié le document xsl-fo qui est traité par FOP pour générer le PDF et pas le PDF directement.
    http://xmlgraphics.apache.org/fop/compliance.html
    Regarde bien les propriétés supportés en fonction de ta version de FOP.
    A mon avis, il y a pas mal de boulot , bon courage!

    Des sites utiles : http://zoonek2.free.fr/UNIX/44_XSL-FO/XSL-FO.html et http://zvon.org/xxl/xslfoReference/Output/index.html

Discussions similaires

  1. iText HTML & CSS vers PDF
    Par xoum89 dans le forum Documents
    Réponses: 0
    Dernier message: 12/12/2013, 11h13
  2. [PDF] conversion html/css en pdf
    Par Infoselectdev dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 02/11/2010, 09h41
  3. Convert (X)HTML+CSS to pdf
    Par foobar42 dans le forum APIs
    Réponses: 3
    Dernier message: 14/07/2008, 12h04
  4. [Débutante][XSL-FO]Flux XML vers HTML puis vers PDF
    Par norkius dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 03/05/2006, 14h29
  5. [XSL] Application d'un XSL pour produire un XSL... help
    Par Greedo dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 22/05/2003, 11h30

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