[
https://issues.apache.org/jira/browse/FOP-2842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Hajduch updated FOP-2842:
--------------------------------
Description:
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?
was:
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?
> 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
> Priority: Major
> 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)