javasvg转png图片的方法代码svgToPng:方法可以直接使用public static String svgToPng(String fileName){
try {
String svgStr=replaceTxtByStr(fileName+".svg");
byte[] bytes = svgStr.getBytes("utf-8");
PNGTranscoder pngTranscoder = new PNGTranscoder();
TranscoderInput svgInput = new TranscoderInput(new ByteArrayInputStream(bytes));//new TranscoderInput(new File(fileName+".svg").toURI().toString());
FileOutputStream pngFos = new FileOutputStream(fileName+".png");
TranscoderOutput pngOutput = new TranscoderOutput(pngFos);
pngTranscoder.transcode(svgInput, pngOutput);
pngFos.flush();
pngFos.close();
} catch (IOException e){
try {
throw new TranscoderException(e);
} catch (TranscoderException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (TranscoderException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return fileName+".png";
}
public static String replaceTxtByStr(String filePath) {
String resultFileString="";
try {
File myFile=new File(filePath);
if(!myFile.exists()){
System.err.println("Can't Find " + filePath);
}
StringBuffer returnString=new StringBuffer();
InputStream inputStream=new FileInputStream(myFile);
InputStreamReader isr = new InputStreamReader(inputStream, "utf-8");
BufferedReader in = new BufferedReader(isr);
String str=null;
while ((str = in.readLine()) != null)
{
returnString.append(str);
}
resultFileString=returnString.toString().replaceAll("′", "x").replaceAll("3", ">=").replaceAll("£", "<=");
in.close();
isr.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return resultFileString;
}