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条回答

    报告相同问题?

    悬赏问题

    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog
    • ¥15 Excel发现不可读取的内容