You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by "gdilem@libero.it" <gd...@libero.it> on 2005/01/27 19:07:57 UTC

PDFRenderer.render exception

hi all
When I parse my fo file I got a strange nullpointer exception.
That's what I get:
using SAX parser org.apache.xerces.parsers.SAXParser
foFileIS:C:\IdeaProjects\ADMIN_CONSOLE\admin_console\pdf\1106849089906.fo
rendering areas to PDF
FATAL ERROR: null
java.lang.NullPointerException
	at org.apache.fop.render.pdf.PDFRenderer.render(PDFRenderer.java:100)
	at org.apache.fop.apps.Driver.render(Driver.java:471)
	at rt11000.printdocument.UtilitiesReport.transformXmlToPdf(UtilitiesReport.java:249)
	at rt11000.printdocument.Transformer.producePDF(Transformer.java:71)
	at rt11000.printdocument.Transformer.main(Transformer.java:229)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:324)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)

and  that's my code: I point u where I get the error.

            parser.setFeature( "http://xml.org/sax/features/namespace-prefixes", true ) ;
            driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer");
            driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");
            driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");
            driver.addElementMapping("org.apache.fop.extensions.ExtensionElementMapping");
           // driver.addElementMapping("org.apache.fop.fo.StandardPropertyListMapping");
            //driver.addElementMapping("org.apache.fop.svg.SVGPropertyListMapping");
            //driver.addElementMapping("org.apache.fop.extensions.ExtensionPropertyListMapping");
            System.out.println("foFileIS:"+foFileIS);
            InputSource inputSource=new InputSource(foFile );
            driver.setInputSource(inputSource);
            driver.setXMLReader(parser);
            driver.render();  // HERE IS THE ERROR !!!!!!!!!!!!!!!!!!!!!!
            driver.setOutputStream(new FileOutputStream( pdfFile ));




____________________________________________________________
Navighi a 2 MEGA e i primi 3 mesi sono GRATIS. 
Scegli Libero Adsl Flat senza limiti su http://www.libero.it



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org


Re: PDFRenderer.render exception

Posted by Jeremias Maerki <de...@greenmail.ch>.
What version of FOP are you using? FOP 0.20.5 contains to code on line
100 in PDFRenderer.

On 27.01.2005 19:07:57 gdilem\@libero\.it wrote:
> hi all
> When I parse my fo file I got a strange nullpointer exception.
> That's what I get:
> using SAX parser org.apache.xerces.parsers.SAXParser
> foFileIS:C:\IdeaProjects\ADMIN_CONSOLE\admin_console\pdf\1106849089906.fo
> rendering areas to PDF
> FATAL ERROR: null
> java.lang.NullPointerException
> 	at org.apache.fop.render.pdf.PDFRenderer.render(PDFRenderer.java:100)
> 	at org.apache.fop.apps.Driver.render(Driver.java:471)
> 	at rt11000.printdocument.UtilitiesReport.transformXmlToPdf(UtilitiesReport.java:249)
> 	at rt11000.printdocument.Transformer.producePDF(Transformer.java:71)
> 	at rt11000.printdocument.Transformer.main(Transformer.java:229)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:324)
> 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
> 
> and  that's my code: I point u where I get the error.
> 
>             parser.setFeature( "http://xml.org/sax/features/namespace-prefixes", true ) ;
>             driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer");

Don't do that if you're just using the normal PDFRenderer. Use this
instead:
driver.setRenderer(Driver.RENDER_PDF);


>             driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");
>             driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");
>             driver.addElementMapping("org.apache.fop.extensions.ExtensionElementMapping");

This is also not necessary. In FOP 0.20.5 this is done automatically.

Please refer to the "Embedding FOP" page: http://xml.apache.org/fop/embedding.html
Less is sometimes more. :-)

>            // driver.addElementMapping("org.apache.fop.fo.StandardPropertyListMapping");
>             //driver.addElementMapping("org.apache.fop.svg.SVGPropertyListMapping");
>             //driver.addElementMapping("org.apache.fop.extensions.ExtensionPropertyListMapping");
>             System.out.println("foFileIS:"+foFileIS);
>             InputSource inputSource=new InputSource(foFile );
>             driver.setInputSource(inputSource);
>             driver.setXMLReader(parser);
>             driver.render();  // HERE IS THE ERROR !!!!!!!!!!!!!!!!!!!!!!
>             driver.setOutputStream(new FileOutputStream( pdfFile ));


Jeremias Maerki


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org