JPEGTranscoder transcoder = new JPEGTranscoder(); String urlPath = "D:/CRD_Material/Scheme/scheme-2.svg"; String s1 = "<svg width='350' height='450' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>" + "<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ --> " + "<g><title>Layer 1</title> " + " <rect fill='none' stroke='#000000' stroke-width='2' stroke-linejoin='none' stroke-linecap='none' x='18' y='23' width='213' height='352' id='svg_6'/>" + " <line fill='none' stroke='#000000' stroke-width='2' stroke-linejoin='none' stroke-linecap='none' x1='17' y1='336' x2='230' y2='336' id='svg_7'/>" + " <line fill='none' stroke='#000000' stroke-width='2' stroke-linejoin='none' stroke-linecap='none' x1='20' y1='58' x2='231' y2='58' id='svg_8' stroke-dasharray='2,2'/>" + " <rect id='svg_3' height='65' width='181' y='74' x='31' stroke-width='2' stroke='#000000' fill='#0'/> </g> </svg>"; FileWriter writer = new FileWriter("D:/PDFBox/test.svg"); writer.write(s1); writer.close(); transcoder.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new Float(1.0)); TranscoderInput input = new TranscoderInput(new FileInputStream("D:/PDFBox/test.svg")); OutputStream ostream = new FileOutputStream("D:/PDFBox/out.jpg"); TranscoderOutput output = new TranscoderOutput(ostream); transcoder.transcode(input, output); ostream.close(); System.exit(0);
这是我的代码,我想将SVG字符串转换为JPEG图像。在运行这段代码时,我得到了以下错误:
org.w3c.dom.DOMException: <unknown>: The attribute "stroke-linecap" represents an invalid CSS value ("none"). Original message: The "none" identifier is not a valid value for the "stroke-linecap" property
谁来帮帮我..。提前感谢
发布于 2019-03-18 16:12:05
stroke-linecap 的唯一有效值是 butt 、 round 和 square ,请参阅例如 here 。默认值为 butt 。因此,要么将 none 更改为其中之一,要么随处删除 stroke-linecap='none' 段。
stroke-linecap
butt
round
square
none
stroke-linecap='none'
您的svg代码在 stroke-linejoin 方面也有类似的问题,请参阅有效值 here 。
stroke-linejoin
最后, fill='#0' 也是错误的。如果您想要黑色,请使用 fill='#000000' 或 fill='black' 。
fill='#0'
fill='#000000'
fill='black'
因此,新字符串可以是
String s1 = "<svg width='350' height='450' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>"