Martin Hajduch created FOP-2842: ----------------------------------- Summary: Incompatibility between Batik / FOP / TwelweMonkey's ImageIO / <fo:instream-foreign-object> tag Key: FOP-2842 URL: https://issues.apache.org/jira/browse/FOP-2842 Project: FOP Issue Type: Bug Reporter: Martin Hajduch Fix For: 2.3 Attachments: exception.txt
Please see also: [https://github.com/haraldk/TwelveMonkeys/issues/476] When using Batik 1.11 / FOP 2.3 / TwelweMonkey's ImageIO 3.4.1, <fo:instream-foreign-object> with embedded SVG image does not work correctly. What happens is, that org.apache.fop.render.intermediate.AbstractIFPainter class creates ImageInfo object with URI being null, through this piece of code: {quote}protected void drawImageUsingDocument(final Document doc, final Rectangle rect) { final ImageManager manager = getFopFactory().getImageManager(); ImageInfo info = null; try { info = manager.preloadImage({color:#d04437}*null*{color}, new DOMSource(doc)); {quote} This subsequently failes in FOP's InternalResourceResolver, which contains code: {quote}public Resource getResource(String stringUri) throws IOException, URISyntaxException { if ({color:#d04437}*stringUri.startsWith*{color}("data:")) { return new Resource(resolveDataURI(stringUri)); } return getResource(cleanURI(stringUri)); } {quote} This obviously cannot work if stringUri is null. When TwelweMonkey's ImageIO is removed from the classpath, and xmlgraphics-commons is used instead, it works _(PDF is generated)_. However, I need ImageIO in my project for other tasks. Any ideas? -- This message was sent by Atlassian JIRA (v7.6.3#76005)