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

Format d'échange (XML, JSON...) Java Discussion :

[iText] XML -> PDF


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut [iText] XML -> PDF
    Bonjour,

    Je dois générer des PDF à partir de templates XML remplis avec des infos provenant d'une base de données. Je vais devoir utiliser un générateur de reports pour faire mes templates qui vont être nombreux.

    Comment fait-on pour passer un fichier XML en entrée à iText ? Faut-il respecter un standard quelconque pour que iText prenne en compte mon XML ? Quel outil de report est susceptible de générer des templates XML compréhensibles par iText ?

    Je suis ouvert à toute proposition

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    tu travailles avec des fichiers XML mieux vaudrait que tu utilises FOP:

    Tu crées un filtre xslt qui convertit ton xml en xsl-fo et tu balances la moulinette FOP et le tour est joué

    Petit exemple: http://www.info.univ-angers.fr/pub/g...s/tutxmlfo.htm

    Comment intégrer FOP dans une appli java: http://xmlgraphics.apache.org/fop/0.20.5/embedding.html

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    Citation Envoyé par sinok
    Tu crées un filtre xslt qui convertit ton xml en xsl-fo et tu balances la moulinette FOP et le tour est joué
    Hmm je ne suis pas très familier avec XSL/XSLT, vraiment pas moyen de faire autrement ?
    Ca m'aurait vraiment aidé d'avoir une interface graphique pour faire mes templates

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    je viens de regarder tes liens, ca a l'air pas mal compliqué pour faire un template, si j'en ai 50 à faire, qui sont pas mal blindés de formatage de texte, j'ai pas fini

  5. #5
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    Je compte explorer la solution que tu propose. Toutefois, lorsque j'arrive sur la page de download, je ne sais pas vraiment quelle version je dois prendre

    Pourquoi on passe de la version 0.20 a 0.93 ?

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 74
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par v.caurier
    Comment fait-on pour passer un fichier XML en entrée à iText ? Faut-il respecter un standard quelconque pour que iText prenne en compte mon XML ?
    Non, il suffit d'écrire un Handler; il y a plein d'examples dans le livre ou je prends du XML, j'écris un Handler et hop: j'ai du PDF. Pas besoin de XSLT.

    Ceci sont quelques examples:
    http://itext.ugent.be/itext-in-actio...udyprogram.xml
    http://itext.ugent.be/itext-in-actio...udyprogram.pdf

    http://itext.ugent.be/itext-in-actio.../say_peace.xml
    http://itext.ugent.be/itext-in-actio.../say_peace.pdf

    http://itext.ugent.be/itext-in-actio...rces/peace.xml
    http://itext.ugent.be/itext-in-actio...ults/peace.pdf

    Il y a même des examples en SVG:
    http://itext.ugent.be/itext-in-actio...foobarcity.svg
    http://itext.ugent.be/itext-in-actio...es/streets.svg
    http://itext.ugent.be/itext-in-actio...es/straten.svg
    http://itext.ugent.be/itext-in-actio...urces/rues.svg
    http://itext.ugent.be/itext-in-actio...ctive_city.pdf

  7. #7
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    Citation Envoyé par blowagie
    Non, il suffit d'écrire un Handler; il y a plein d'examples dans le livre ou je prends du XML, j'écris un Handler et hop: j'ai du PDF. Pas besoin de XSLT.
    Dans ce cas, comment spécifier le formatage de texte ? Le positionnement des différents composants ? Il existerait pas une version PDF du livre ?

  8. #8
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    En ce qui concerne la solution qui consiste à passer par XSL, il existerait pas une interface graphique qui me permet de placer des éléments d'un XML sur une page et qui me génère le XSL ?

    Un logiciel libre, ou pas trop cher, ca serait le top

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 74
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par v.caurier
    Dans ce cas, comment spécifier le formatage de texte?
    C'est du XML, ça vient dans tous les formats, avec des tas de DTD et schema's differents.

    Ou bien, vous êtes un spécialiste en XSLT et vous utilisez FOP. Personellement, je n'aime pas trop XSLT; j'ai écris mon tutoriel en XML et je l'ai transformé en HTML utilisant du XSLT. J'ai réussi, mais j'ai dit: plus jamais! (Des gouts et des couleurs,...)

    Ou bien, vous êtes un spécialiste en Java et vous écrivez votre propre 'SAX handler' pour chaque type de XML. Dans mon experience, c'est plus chouette et plus facile à faire (mais je comprends que d'autres personnes préferrent d'autres solutions).

    Une autre solution, est d'ajouter une autre librairie come UJAC, qui spécifie un DTD pour les éléments d'iText (Paragraph, List,...). Si vous connaissez jBoss, vous devez essayer jBoss/SEAM. Norman Richards a écrit des 'PDF facelets'. Ces facelets utilisent iText pour produire du PDF.

    Citation Envoyé par v.caurier
    Il existerait pas une version PDF du livre?
    Il y a une version eBook.
    Vous trouverez la source des examples ici:
    http://itext.ugent.be/itext-in-actio...dyProgram.java
    http://itext.ugent.be/itext-in-actio.../SayPeace.java
    http://itext.ugent.be/itext-in-actio...r09/Peace.java

  10. #10
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    Rebonjour,

    J'ai choisi de passer par iText, et je ne regrette pas, je trouve que c'est une solution extremmement puissante, et plutot bien adaptée a mon cas. Les choses ont un peu changé. Je genere mes PDF a partir de morceaux (d'autres PDFs) statiques générés avec iReport et de morceaux que je genere directement avec iText. En gros, je dispose de briques existantes, et de briques que je créé a la volée car elles contiennent des infos contenues dans une base de données.

    Tout d'abord, je voudrais savoir s'il est possible de surligner une zone de texte ?

    J'aimerais par la suite mettre en place un systeme de template, qui indiquera a ma classe de generation, selon le type de document demandé et selon le client (brique d'entete propre a chaque client par exemple), quelles briques utiliser pour generer le rapport. Ma question : existe-t-il un parser XML intégré a iText ? je n'ai trouvé aucun exemple, pourtant il existe la classe XMLParser dans l'API

  11. #11
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 74
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par v.caurier
    Tout d'abord, je voudrais savoir s'il est possible de surligner une zone de texte ?
    Essayez ces examples:
    http://itext.ugent.be/itext-in-actio...DogChunk1.java
    (cherchez setBackground)
    http://itext.ugent.be/itext-in-actio...Underline.java
    (plutôt pour souligner)

    Citation Envoyé par v.caurier
    existe-t-il un parser XML intégré a iText? je n'ai trouvé aucun exemple, pourtant il existe la classe XMLParser dans l'API
    Oui et non, j'ai developé XmlParser dans le temps pour un project spécifique, mais quand le projet était en production (et aussitôt que tout marchait), je n'ai pas eu le temps de finir le travail supplementaire à XmlParser.
    Il vaut mieux expérimenter avec HTMLWorker:
    http://itext.ugent.be/itext-in-actio...lSnippets.java
    http://itext.ugent.be/itext-in-actio...rces/list.html
    HTMLWorker reconnait une sélection de tags HTML.
    Je vais publier une example qui utilise HTMLWorker pour convertir des e-mail avec MIME-Type "text/html" sur le Wiki la semaine prochaine.
    http://www.lowagie.com/itextwiki/

  12. #12
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    Merci pour le coup de main je vais utiliser JDOM pour parser mon fichier XML. J'ai pas mal de boulot avec le parser, j'aurai surement d'autres problemes plus tard, pour le moment je considere que les reponses a ce post ont réglé mes problemes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [iText] Fusion de PDF
    Par seb55555 dans le forum Documents
    Réponses: 6
    Dernier message: 17/06/2010, 11h51
  2. Conversion XML vers PDF avec ITEXT
    Par adelpiero dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 29/07/2008, 10h16
  3. [FOP] Transformation XML to PDF par FOP
    Par JustAGphy dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 12/05/2004, 15h19
  4. transformer un fichire Xml en pdf
    Par SuperFoustan dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 21/02/2003, 11h45
  5. XML to PDF
    Par joebarteam88 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 16/01/2003, 17h30

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