Lyle900905 2013-10-17 12:05
浏览 2800

svg转jpg报错 2 字节的 UTF-8 序列的字节 2 无效。

代码:
/**
* 将wmf图片转成jpg图片
*
* @param filePath
* @throws Exception
*/
public static String wmfToJpg(String wmfPath) throws Exception {
File wmf = new File(wmfPath);
FileInputStream wmfStream = new FileInputStream(wmf);
ByteArrayOutputStream imageOut = new ByteArrayOutputStream();
int noOfByteRead = 0;
while ((noOfByteRead = wmfStream.read()) != -1) {
imageOut.write(noOfByteRead);
}
imageOut.flush();
WMFTranscoder transcoder = new WMFTranscoder();
TranscodingHints hints = new TranscodingHints();
hints.put(ImageTranscoder.KEY_WIDTH, 20f);
hints.put(ImageTranscoder.KEY_HEIGHT, 20f);

    transcoder.setTranscodingHints(hints);
    TranscoderInput input = new TranscoderInput(new ByteArrayInputStream(
            imageOut.toByteArray()));
    ByteArrayOutputStream svg = new ByteArrayOutputStream();
    TranscoderOutput output = new TranscoderOutput(svg);

    transcoder.transcode(input, output);
    String svgFile = StringUtils.replace(wmfPath, "wmf", "svg");
    FileOutputStream fileOut = new FileOutputStream(svgFile);
    fileOut.write(svg.toByteArray());
    fileOut.flush();

PNGTranscoder it = new PNGTranscoder();
ByteArrayOutputStream jpg = new ByteArrayOutputStream();
it.transcode(new TranscoderInput(new ByteArrayInputStream(svg.toByteArray())),new TranscoderOutput(jpg));
String jpgFile = StringUtils.replace(wmfPath, "wmf", "jpg");
FileOutputStream jpgOut = new FileOutputStream(jpgFile);
jpgOut.write(jpg.toByteArray());
jpgOut.flush();

    return null;
}

错误:
Exception in thread "main" org.apache.batik.transcoder.TranscoderException: null
Enclosed Exception:
2 字节的 UTF-8 序列的字节 2 无效。
at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown Source)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown Source)
at com.cets.service.ReadWordByStream.wmfToJpg(ReadWordByStream.java:227)
at com.cets.service.ReadWordByStream.getContent(ReadWordByStream.java:91)
at com.cets.service.ReadWordByStream.main(ReadWordByStream.java:160)

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号
    • ¥50 安装pyaudiokits失败
    • ¥15 计组这些题应该咋做呀
    • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
    • ¥15 让node服务器有自动加载文件的功能
    • ¥15 jmeter脚本回放有的是对的有的是错的