Bonjour,
Lors de la generation du fichier PDF à partir d'un .fo, utilisant fop v0.94. je compile le programme correctement sans warn ni Errors, Tandis qu'il genere un fichier pdf endommagé.
Si quelqun a une idée sur la cause de ce Pb, Merci de me donner la piste,
La classe java:
et voici mon fichier .fo:
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 //Java import java.io.BufferedOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.stream.StreamSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.fop.apps.FOPException; import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopFactory; import org.apache.fop.apps.MimeConstants; /** * Convertir un document XML vers PDF */ public class ExampleXML2PDF { private static Log LOG = LogFactory.getLog(ExampleXML2PDF.class); public void fopTransformer(File input) { Source src = new StreamSource(input); FopFactory fopFactory = FopFactory.newInstance(); FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); OutputStream out = null; File outputFile = new File("filePDF2.pdf"); try { out = new BufferedOutputStream(new FileOutputStream(outputFile)); } catch (FileNotFoundException e) { LOG.error(e); } Fop fop = null; try { fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out); } catch (FOPException e) { LOG.error(e); } TransformerFactory trFactory = TransformerFactory.newInstance(); Transformer transformer = null; try { transformer = trFactory.newTransformer(); } catch (TransformerConfigurationException e) { LOG.error(e); } Result res = null; try { res = new SAXResult(fop.getDefaultHandler()); } catch (FOPException e) { LOG.error(e); } try { transformer.transform(src, res); } catch (TransformerException e) { LOG.error(e); } } public static void main(String[] args) { try { System.out.println("FOP ExampleXML2PDF "); System.out.println("Preparing..."); File input = new File("xml/xslt/exemple2.fo"); ExampleXML2PDF app = new ExampleXML2PDF(); app.fopTransformer(input); System.out.println("Success!"); } catch (Exception e) { LOG.error(e); System.exit(-1); } } }
Si vous voulez des infos suplementaires, merci de me les indiquer<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="main"
margin-top="36pt" margin-bottom="36pt"
page-width="8.5in" page-height="11in"
margin-left="72pt" margin-right="72pt">
<fo:region-body margin-bottom="50pt" margin-top="50pt"/>
</fo:simple-page-master>
</fo:layout-master-set>
<!-- Definition of a page sequence -->
<fo:page-sequence master-reference="main">
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="14pt" line-height="17pt">
Bonjour,
exemple pour voir la generation du pdf a partir d'un fichier xml.
Salutations
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
D'avance
Partager