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] Classe Driver


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 24
    Par défaut [XSL-FO][FOP] Classe Driver
    Bonjour,

    J'essaie de tester l'exemple sur la création d'un PDF à partir d'un fichier XML proposé dans la FAQ XML (d'où mon post dans ce forum - j'ai longuement hésité avec Java ... -) : http://java.developpez.com/faq/xml/?page=xslt#xmlPdf

    J'ai donc téléchargé la version 0.94 de FOP, copié le jar fourni, collé celui-ci dans mon dossier des librairies communes de Tomcat (Tomcat5.0\common\lib), et paramétré mon projet JBuilder pour que le jar soit accessible depuis mon projet. Jusque là tout va bien puisque je vois bien les classes FOP... sauf une ! Je n'ai pas de classe Driver (normalement dans org.apache.fop.apps). J'ai même essayé de télécharger la version précédente de FOP (0.93) pour voir si cette classe existait sous cette version ... mais toujours pas de classe Driver.

    Cette classe a-t-elle été remplacée ? Quelqu'un sait-il comment arriver au même résultat sans utiliser cette classe ? L'exemple de base étant :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import org.xml.sax.*;
    import javax.xml.transform.*;
    import javax.xml.transform.sax.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import java.io.*;
    import java.util.*;
    import org.apache.fop.apps.Driver;
     
    public class CreationPDF
    {
        public static void creerPDF(String xml, String xsl, String pdf) throws Exception
        {
            // création du résultat (pdf)
            Driver driver = new Driver();
            driver.setRenderer(Driver.RENDER_PDF);
            driver.setOutputStream(new java.io.FileOutputStream(pdf));
            Result resultat = new SAXResult(driver.getContentHandler());
     
            // récupération de la source xml
            Source source = new StreamSource(xml);
     
            // création du transformer en fonction du xsl
            Source style = new StreamSource(xsl);
            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer(style);
     
            // transformation
            transformer.transform(source, resultat);
        }
     
        public static void main(String[] args)
        {
            try
            {
                creerPDF("Annuaire.xml", "AnnuaireFOP.xsl", "Annuaire.pdf");
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        }
    }
    Merci.

    A.B

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Par défaut
    essaye avec la version 0.20.5 de Fop.

  3. #3
    Membre averti
    Inscrit en
    Février 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 24
    Par défaut
    Bonjour,

    Merci pour votre réponse. Effectivement avec la version 0.20.5 la classe existe et je vais pourvoir tester l'exemple pour comprendre comment ça marche tout ça.
    Je vais quand même essayer de trouver l'équivalent pour arriver au même résultat avec la version 0.94 car c'est la version recommandée par Apache donc...

    A.B

  4. #4
    Membre Expert
    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
    Par défaut
    Sur le site même d'Apache il y a ce qu'il faut : http://xmlgraphics.apache.org/fop/0.94/embedding.html
    C'est vrai que l'utilisation a un peu changé depuis la 0.20 (la version stable jusque recemment).

  5. #5
    Membre averti
    Inscrit en
    Février 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 24
    Par défaut
    Bonjour,

    Merci pour l'URL. Cette aide à l'air bien faite et je vais pouvoir me pencher sérieusement sur la version 0.94 de FOP pour l'adapter à l'exemple fourni dans la FAQ.

    A.B

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

Discussions similaires

  1. [XSLT] La classe driver de FOP est manquante
    Par sliderman dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 21/03/2008, 10h27
  2. [XSL~FO][FOP] Créer une ancre
    Par caro. dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/04/2007, 14h16
  3. [XSL-FO] [FOP] Support de certains caractères polonais
    Par Shadow aok dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 09/03/2006, 09h33
  4. [xsl][xslfo][fop]pas plus de 512 caractères
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/01/2006, 17h02
  5. [XSL-FO] [Débutant] xml, xsl, fo fop pdf ...ahhh !
    Par enigma dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/08/2005, 09h14

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