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 Milo van der Zee <mi...@vanderzee.org> on 2012/12/22 23:01:45 UTC

targetrenderer set to MIME_PNG fails in fop >=1.0 but succeeds in 0.95

Hello dear apocalypse survivors,

I'm using FOP for a couple of years now and thought it was time to
upgrade to version 1.1. Problem is that the rendering to PNG stopped
functioning. It all still works with version 0.95.

PDF generation is still fine. The difference between PNG and PDF
generation is the mime type of fop generated with the factory.
Strange thing is that the call to 'userAgent.getRendererOverride()'
returns 'null' in version 1.1 and returned the expected PNGRenderer in
version 0.95. Is this a bug or is something changed between versions in
relation to PNG rendering?
>From the debug info I see that the renderer does create a page. It seems
like the link between the rendererImpl and the mime-type is not found.
But where can I force that?

See code fragments below.

Thank you very much for any help.,
Milo van der Zee

some relevant code:
---------------------------------------
FopFactory fopFactory = FopFactory.newInstance();
FOUserAgent foUserAgent = fopFactory.newFOUserAgent();
foUserAgent.setTargetResolution(document.getPreviewDPI());
ByteArrayOutputStream out = new ByteArrayOutputStream();
Fop fop = fopFactory.newFop(MimeConstants.MIME_PNG, foUserAgent, out);
TransformerFactory factory = TransformerFactory.newInstance();
Source xslfo = DocumentGenerator.generateXslFo(document);
Transformer transformer = factory.newTransformer(xslfo);

SAXBuilder saxBuilder = new SAXBuilder();
saxBuilder.setErrorHandler(new SaxParserErrorListener());
org.jdom.Document dataDocument = saxBuilder.build(new
StringReader(dataString));
DOMSource src = new DOMSource((new
DOMOutputter()).output(dataDocument));
Result res = new SAXResult(fop.getDefaultHandler());
transformer.transform(src, res);

FOUserAgent userAgent = fop.getUserAgent();
PNGRenderer renderer = (PNGRenderer)userAgent.getRendererOverride();
---------------------------------------

---------------------------------------
 I added this to my pom.xml:
---------------------------------------
<dependency>
	<groupId>org.apache.xmlgraphics</groupId>
	<artifactId>fop</artifactId>
	<version>${fop-version}</version>
	<exclusions>
		<!-- FOP has wrong dependancies on the avalon framework -->
		<exclusion>
			<groupId>org.apache.avalon.framework</groupId>
			<artifactId>avalon-framework-api</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.apache.avalon.framework</groupId>
			<artifactId>avalon-framework-impl</artifactId>
		</exclusion>
	</exclusions>
</dependency>
<!-- these two are to correct issues in fop dependency -->
<dependency>
	<groupId>avalon-framework</groupId>
	<artifactId>avalon-framework-api</artifactId>
	<version>4.2.0</version>
</dependency>
<dependency>
	<groupId>avalon-framework</groupId>
	<artifactId>avalon-framework-impl</artifactId>
	<version>4.2.0</version>
</dependency>
---------------------------------------

---------------------------------------
Some debug info:
---------------------------------------
DEBUG org.apache.fop.util.ContentHandlerFactoryRegistry - Dynamically
adding ContentHandlerFactory:
org.apache.fop.render.afp.extensions.AFPExtensionHandlerFactory
DEBUG org.apache.fop.util.ContentHandlerFactoryRegistry - Dynamically
adding ContentHandlerFactory:
org.apache.fop.render.ps.extensions.PSExtensionHandlerFactory
DEBUG org.apache.fop.util.ContentHandlerFactoryRegistry - Dynamically
adding ContentHandlerFactory:
org.apache.fop.fo.extensions.xmp.XMPContentHandlerFactory
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for Renderer: org.apache.fop.render.txt.TXTRendererMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for Renderer: org.apache.fop.render.bitmap.PNGRendererMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for Renderer: org.apache.fop.render.bitmap.TIFFRendererMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for Renderer: org.apache.fop.render.xml.XMLRendererMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for Renderer: org.apache.fop.render.awt.AWTRendererMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for Renderer: org.apache.fop.render.print.PrintRendererMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for FOEventHandler: org.apache.fop.render.rtf.RTFFOEventHandlerMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for IFDocumentHandler: org.apache.fop.render.pdf.PDFDocumentHandlerMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for IFDocumentHandler: org.apache.fop.render.pcl.PCLDocumentHandlerMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for IFDocumentHandler:
org.apache.fop.render.bitmap.TIFFDocumentHandlerMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for IFDocumentHandler:
org.apache.fop.render.bitmap.PNGDocumentHandlerMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for IFDocumentHandler: org.apache.fop.render.ps.PSDocumentHandlerMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for IFDocumentHandler: org.apache.fop.render.afp.AFPDocumentHandlerMaker
DEBUG org.apache.fop.render.RendererFactory - Dynamically adding maker
for IFDocumentHandler:
org.apache.fop.render.intermediate.IFSerializerMaker
DEBUG org.apache.fop.render.XMLHandlerRegistry - Dynamically adding
XMLHandler: org.apache.fop.render.pdf.PDFSVGHandler
DEBUG org.apache.fop.render.XMLHandlerRegistry - Dynamically adding
XMLHandler: org.apache.fop.render.ps.PSSVGHandler
DEBUG org.apache.fop.render.XMLHandlerRegistry - Dynamically adding
XMLHandler: org.apache.fop.render.java2d.Java2DSVGHandler
DEBUG org.apache.fop.render.XMLHandlerRegistry - Dynamically adding
XMLHandler: org.apache.fop.render.pcl.PCLSVGHandler
DEBUG org.apache.fop.render.XMLHandlerRegistry - Dynamically adding
XMLHandler: org.apache.fop.render.afp.AFPSVGHandler
DEBUG org.apache.fop.render.ImageHandlerRegistry - Dynamically adding
ImageHandler: org.apache.fop.render.pdf.PDFImageHandlerGraphics2D
DEBUG org.apache.fop.render.ImageHandlerRegistry - Dynamically adding
ImageHandler: org.apache.fop.render.pdf.PDFImageHandlerRenderedImage
...
DEBUG org.apache.fop.render.ImageHandlerRegistry - Dynamically adding
ImageHandler: org.apache.fop.render.afp.AFPImageHandlerSVG
DEBUG org.apache.fop.render.AbstractConfigurator - userconfig is null
DEBUG org.apache.fop.render.AbstractConfigurator - userconfig is null
DEBUG org.apache.fop.fonts.FontInfo - Registering: any,normal,400 under
F5
...
DEBUG org.apache.fop.fonts.FontInfo - Registering: Webdings,normal,400
under F170
DEBUG org.apache.fop.render.intermediate.IFRenderer - Rendering areas
via IF document handler
(org.apache.fop.render.intermediate.EventProducingFilter)...
DEBUG org.apache.fop.fo.FOTreeBuilder - Building formatting object tree
DEBUG org.apache.fop.image.loader.batik.PreloaderSVG - Error while
trying to load stream as an SVG file: Invalid byte 1 of 1-byte UTF-8
sequence.
DEBUG org.apache.fop.image.loader.batik.PreloaderSVG - Error while
trying to load stream as an SVG file: Invalid byte 1 of 1-byte UTF-8
sequence.
DEBUG org.apache.fop.area.AreaTreeHandler - Current heap size: 171055KB
DEBUG org.apache.fop.complexscripts.bidi.BidiResolver - BD: RESOLVE:
org.apache.fop.fo.pagination.PageSequence@bc454f[@id=]
...
DEBUG org.apache.fop.layoutmgr.PageSequenceLayoutManager - Starting
layout
...
DEBUG org.apache.fop.area.IDTracker - signalIDProcessed()
DEBUG org.apache.fop.render.bitmap.AbstractBitmapDocumentHandler - Don't
know how to handle extension object. Ignoring:
org.apache.xmlgraphics.xmp.Metadata@4ada6e
(org.apache.xmlgraphics.xmp.Metadata)
INFO  org.apache.fop.apps.FOUserAgent - Rendered page #1.
DEBUG org.apache.fop.layoutmgr.AbstractPageSequenceLayoutManager - page
finished: 1, current num: 1
...
DEBUG org.apache.fop.area.AreaTreeHandler - Pages rendered: 1
DEBUG org.apache.fop.area.AreaTreeHandler - Avg render time:
11734ms/page (5pages/min)