java - Error transcoding SVGGraphics2D to PNG -
i'm trying rotate svggraphics2d
, export png format , i'm having problems. can me?
exception in thread "main" org.apache.batik.transcoder.transcoderexception: null enclosed exception: "xmlns" attribute specified element "svg". @ org.apache.batik.transcoder.xmlabstracttranscoder.transcode(xmlabstracttranscoder.java:136) @ org.apache.batik.transcoder.svgabstracttranscoder.transcode(svgabstracttranscoder.java:156) @ inclan.icon.svg.rasterizer.svgrasterizer.transcodetopng(svgrasterizer.java:382) @ inclan.icon.svg.rasterizer.svgrasterizer.main(svgrasterizer.java:370)
my code:
protected transcoderinput input; protected transcoderoutput output; public static void main(string [] args) throws exception { svggraphics2d gra = getsvggraphics2d(new bytearrayinputstream(getxml().getbytes())); tilt(gra); fileoutputstream ops = new fileoutputstream(new file("c://users//pablosouza//desktop//svg//asf-logo-png.png")); svgrasterizer r = new svgrasterizer(getinputstream(gra), ops); r.transcodetopng(); } public static svggraphics2d getsvggraphics2d(inputstream istream){ svggraphics2d svg = null; try { documentbuilderfactory factory = documentbuilderfactory.newinstance(); documentbuilder builder = factory.newdocumentbuilder(); document parse = builder.parse(istream); svggeneratorcontext ctx = svggeneratorcontext.createdefault(parse); svg = new svggraphics2d(ctx,false); } catch (parserconfigurationexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (saxexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } return svg; } public svgrasterizer(inputstream inputstream, fileoutputstream ops) { this.input = new transcoderinput(inputstream); this.output = new transcoderoutput(ops); } private void transcodetopng() throws transcoderexception { pngtranscoder png = new pngtranscoder(); png.addtranscodinghint(pngtranscoder.key_height, 100f); png.addtranscodinghint(pngtranscoder.key_width, 100f); png.transcode(input, output); } private static string getxml() { stringbuilder sb = new stringbuilder(); sb.append("<?xml version=\"1.0\"?>"); sb.append("<!doctype svg public \"-//w3c//dtd svg 1.1//en\" "); sb.append("\"http://www.w3.org/graphics/svg/1.1/dtd/svg11.dtd\"> "); sb.append("<svg width=\"10cm\" height=\"8cm\" version=\"1.1\" "); sb.append("xmlns=\"http://www.w3.org/2000/svg\"> "); sb.append("<desc>our first svg document</desc> "); sb.append("<!-- rectangle -->"); sb.append("<rect x=\"1cm\" y=\"1cm\" width=\"4cm\" height=\"3cm\" "); sb.append("fill=\"moccasin\" stroke=\"midnightblue\" "); sb.append("stroke-width=\"0.2cm\"/> "); sb.append("<!-- circle -->"); sb.append("<circle cx=\"6cm\" cy=\"5cm\" r=\"2.5cm\" fill=\"lavender\" "); sb.append("stroke=\"firebrick\" stroke-width=\"0.15cm\" "); sb.append("opacity=\"0.7\"/> "); sb.append("</svg>"); return sb.tostring(); }
Comments
Post a Comment