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 :
Merci.
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(); } } }
A.B
Partager