You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by "Christoph Stichlberger (JIRA)" <ji...@apache.org> on 2013/08/29 15:56:53 UTC
[jira] [Comment Edited] (BATIK-1051)
org.apache.batik.transcoder.TranscoderException then the element
has no children while exporting to PDF
[ https://issues.apache.org/jira/browse/BATIK-1051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753563#comment-13753563 ]
Christoph Stichlberger edited comment on BATIK-1051 at 8/29/13 1:56 PM:
------------------------------------------------------------------------
I've got the same problem - and a workaround.
If you have the option use a own build of batik - commenting out this block in org.apache.batik.bridge.SVGPatternElementBridge resolves the problem and the svg renders as it should
if (!purl.complete())
throw new BridgeException(ctx, patternElement,
ERR_URI_MALFORMED,
new Object[] {uri});
Introducing this workaround can be done as follows
- create a patched version of SVGPatternElementBridge
- use the following code for transcoding (in this example with the PNGTranscoder)
PNGTranscoder my_converter = new PNGTranscoder() {
//temporary workaround for https://issues.apache.org/jira/browse/BATIK-1051
BridgeContext createBridgeContext(String svgVersion) {
if ("1.2".equals(svgVersion)) {
return new SVG12BridgeContext(userAgent){
public void registerSVGBridges() {
super.registerSVGBridges();
this.putBridge(new SVGPatternElementBridgePatched());
}
};
} else {
return new BridgeContext(userAgent) {
public void registerSVGBridges() {
super.registerSVGBridges();
this.putBridge(new SVGPatternElementBridgePatched());
}};
}
}
}
was (Author: cstichlberger):
I've got the same problem - and a workaround.
If you have the option use a own build of batik - commenting out this block in org.apache.batik.bridge.SVGPatternElementBridge resolves the problem and the svg renders as it should
if (!purl.complete())
throw new BridgeException(ctx, patternElement,
ERR_URI_MALFORMED,
new Object[] {uri});
> org.apache.batik.transcoder.TranscoderException then the element <pattern> has no children while exporting to PDF
> -----------------------------------------------------------------------------------------------------------------
>
> Key: BATIK-1051
> URL: https://issues.apache.org/jira/browse/BATIK-1051
> Project: Batik
> Issue Type: Bug
> Reporter: Alexey Dergunov
> Priority: Critical
>
> We export svg files to PDF. The code looks like this: http://pastebin.com/y0bZJMK7
> It seems that Batik cannot operate svg files with tags <pattern> without children.
> There are two svg-files:
> http://pastebin.com/Wd47nhCu - this one works fine
> http://pastebin.com/6yseBWmQ - and this one causes an exception
> org.apache.batik.transcoder.TranscoderException: null
> Enclosed Exception:
> null:-1
> The URI "#p1"
> specified on the element <pattern> is invalid
> at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown Source)
> at org.apache.fop.svg.PDFTranscoder.transcode(PDFTranscoder.java:193)
> at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source)
> at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown Source)
> According to W3C site (http://www.w3.org/TR/SVG/pservers.html#Patterns), "If this element has no children, and the referenced element does (possibly due to its own 'xlink:href' attribute), then this element inherits the children from the referenced element."
> Browsers (Chrome, Firefox, IE) show both svg files correctly, but Batik throws this exception while processing the second file.
> Additional info: exception occurs in class org.apache.batik.util.ParsedURLData, in method buildURL(), in the last line: return new URL(toString());
> Method toString() returns "#p1" in our case, and java.net.URL class doesn't want to consider it as correct URL.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-dev-help@xmlgraphics.apache.org