Hello,
I want to transform a XML file with SVG into PDF in
an servlet.
Like in your example FopServlet in docs/examples, I
use org.apache.fop.apps.Driver.
When I use the command Line "java
org.apache.tools.ant.Main svg-basicexamples" no problem.
But when I use the Driver in my servlet with the
svgdoc.fo file, generated with the commandLine, I have this error :
java.lang.NoSuchMethodError
at
org.apache.fop.render.pdf.SVGRenderer.locateDef(SVGRenderer.java:2291)
at
org.apache.fop.render.pdf.SVGRenderer.renderElement(SVGRenderer.java:2081)
at
org.apache.fop.render.pdf.SVGRenderer.renderSVG(SVGRenderer.java:169)
at
org.apache.fop.render.pdf.PDFRenderer.renderSVGArea(PDFRenderer.java:367)
at
org.apache.fop.dom.svg.SVGArea.render(SVGArea.java:106)
at
org.apache.fop.render.pdf.PDFRenderer.renderForeignObjectArea(PDFRenderer.java:298)
at
org.apache.fop.layout.inline.ForeignObjectArea.render(ForeignObjectArea.java:93)
at
org.apache.fop.render.PrintRenderer.renderLineArea(PrintRenderer.java:442)
at
org.apache.fop.layout.LineArea.render(LineArea.java:129)
at
org.apache.fop.render.PrintRenderer.renderBlockArea(PrintRenderer.java:314)
at
org.apache.fop.layout.BlockArea.render(BlockArea.java:125)
at
org.apache.fop.render.PrintRenderer.renderBlockArea(PrintRenderer.java:314)
at
org.apache.fop.layout.BlockArea.render(BlockArea.java:125)
at
org.apache.fop.render.PrintRenderer.renderAreaContainer(PrintRenderer.java:189)
at
org.apache.fop.layout.ColumnArea.render(ColumnArea.java:75)
at
org.apache.fop.render.PrintRenderer.renderSpanArea(PrintRenderer.java:248)
at
org.apache.fop.layout.SpanArea.render(SpanArea.java:95)
at
org.apache.fop.render.PrintRenderer.renderBodyAreaContainer(PrintRenderer.java:233)
at
org.apache.fop.render.pdf.PDFRenderer.renderPage(PDFRenderer.java:590)
at
org.apache.fop.render.pdf.PDFRenderer.render(PDFRenderer.java:105)
at
org.apache.fop.apps.Driver.render(Driver.java:471)
at
logicinvest.client.testPDF.main(testPDF.java:58)
My source code :
Driver driver = new
Driver();
driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer"); driver.addElementMapping("org.apache.fop.fo.StandardElementMapping"); driver.addElementMapping("org.apache.fop.svg.SVGElementMapping"); XMLReader parser = null; Class cl = Class.forName("org.apache.xerces.parsers.SAXParser"); parser = (XMLReader)cl.newInstance(); driver.buildFOTree(parser, input); driver.format(); driver.setOutputStream(out); driver.render(); Can you help me !
thks,
Afid RABHI
France
email: [EMAIL PROTECTED]
|