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 :

[FOP] Probleme FO Java


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 27
    Points : 22
    Points
    22
    Par défaut [FOP] Probleme FO Java
    Bonsoir

    je voudrais pouvoir transformer un fichier XML en PDF, en java (sous eclispe)
    je sais qu'il existe de nombreux exemple la-dessus sur internet mais je n'arrive pas à les utiliser...(exemple: http://svn.apache.org/viewvc/xmlgrap...va?view=markup)

    J'ai telechargé fop 0.95

    j'ai ajouté dans WEB-INF/lib les différents jar:
    avalon[..].jar
    batik[...].jar
    xerces[...].jar
    fop .jar

    ensuite lorsque je fais les importations suivantes:
    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
    //Java
     	import java.io.File;
    	import java.io.OutputStream;
     
            //JAXP
     	import javax.xml.transform.Transformer;
     	import javax.xml.transform.TransformerFactory;
     	import javax.xml.transform.Source;
     	import javax.xml.transform.Result;
     	import javax.xml.transform.stream.StreamSource;
     	import javax.xml.transform.sax.SAXResult;
     
     	//FOP
     	import org.apache.fop.apps.FOUserAgent;
     	import org.apache.fop.apps.Fop;
     	import org.apache.fop.apps.FopFactory;
     	import org.apache.fop.apps.MimeConstants;
    Toutes les importations relatives à FOP ne fonctionne pas.

    Je ne sais pas ce qu'il faut installer de plus?

    merci d'avance

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Il faut inclure le jar de FOP dans le buildpath de ton projet sous Eclipse.

    Click droit, build path, configure build path, onglet librairies.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    ça marche.

    merci beaucoup!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    J'ai un nouveau problème

    voici le code que j'utilise:
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    	try {
     
    System.out.println("Preparing...");
     
    // Setup directories
    File baseDir = new File(".");
    File outDir = new File(baseDir, "out");
    outDir.mkdirs();
    // Setup input and output files
    String nom=(String)request.getParameter("nom");
    String path = System.getProperty("wtp.deploy")+getServletContext().getContextPath()+File.separator+nom+".xml";
    File xmlfile = new File(baseDir, path);
    File xsltfile = new File(baseDir, lien+"Excelpdf.xsl");
    File pdffile = new File(outDir, lien+nom+".html");
     
    System.out.println("Input: XML (" + xmlfile + ")");
    System.out.println("Stylesheet: " + xsltfile);
    System.out.println("Output: PDF (" + pdffile + ")");
    System.out.println();
    System.out.println("Transforming...");
     
    // configure fopFactory as desired
    FopFactory fopFactory = FopFactory.newInstance();
     
    FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
    // configure foUserAgent as desired
     
    // Setup output
    OutputStream out = new java.io.FileOutputStream(pdffile);
    out = new java.io.BufferedOutputStream(out);
     
    try {
    // Construct fop with desired output format
    Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
     
    // Setup XSLT
    TransformerFactory factory = TransformerFactory.newInstance();
    Transformer transformer = factory.newTransformer(new StreamSource(xsltfile));
     
    // Set the value of a <param> in the stylesheet
    transformer.setParameter("versionParam", "2.0");
     
    // Setup input for XSLT transformation
    Source src = new StreamSource(xmlfile);
     
    // Resulting SAX events (the generated FO) must be piped through to FOP
    Result res = new SAXResult(fop.getDefaultHandler());
     
    // Start XSLT transformation and FOP processing
    transformer.transform(src, res);
    } finally {
    out.close();
    }
     
    System.out.println("Success!");
    } catch (Exception e) {
    e.printStackTrace(System.err);
    System.exit(-1); 
    	}
    et eclipse me donne cette erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    java.lang.NoClassDefFoundError: org/apache/fop/apps/FopFactory
    	ServletTraitement.doGet(ServletTraitement.java:170)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    il y a donc une erreur à cette ligne: FopFactory fopFactory = FopFactory.newInstance();

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 995
    Points : 2 528
    Points
    2 528
    Par défaut
    C'est une erreur qui se produit quand la classe était disponible au moment de la compilation, mais plus au moment de l'exécution. Quel est ton environnement d'exécution ? Si tu exécutes sur un serveur, il est probable que tu as oublié de transférer les bibliothèques sur le serveur. Sinon, peut-être que tu as déplacé ton jar ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    j'ai développé l'application sur Eclipse. C'est un web dynamic project...(projet JEE) avec tomcat 6.0 comme conteneur de mes servlets.
    Pour les jar, vu que je ne savais pas, dans le doute, je les ai mis dans le répertoire web-inf de mon projet, ainsi que dans le repertoire web-inf de tomcat. Donc normalement accessible par tous les projets.
    Et comme on m'a expliqué précédemment j'ai importé Fop.jar dans le buildpath.

    Donc il n'y a pas eu de manip entre la compilation et l'exécution, a moins qu'il y estr quelque chose à faire sous eclipse pour que ça fonctionne.

Discussions similaires

  1. [FOP] probleme java.lang.OutOfMemoryError
    Par Méta dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 27/11/2006, 15h59
  2. probleme avec java.util.Scanner
    Par d-a-v-e dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 04/05/2006, 22h08
  3. Probleme Programation JAVA débutant
    Par tomtom62136 dans le forum Langage
    Réponses: 1
    Dernier message: 03/03/2006, 12h07
  4. Probleme applet java sur mon site
    Par halo90 dans le forum Applets
    Réponses: 5
    Dernier message: 01/02/2006, 16h18
  5. probleme securite java
    Par ghan77 dans le forum Langage
    Réponses: 2
    Dernier message: 20/01/2006, 10h09

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