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

Reply via email to