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 Stata 面板数据模型选择
    • ¥20 idea运行测试代码报错问题
    • ¥15 网络监控:网络故障告警通知
    • ¥15 django项目运行报编码错误
    • ¥15 请问这个是什么意思?
    • ¥15 STM32驱动继电器
    • ¥15 Windows server update services
    • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
    • ¥15 模糊pid与pid仿真结果几乎一样
    • ¥15 java的GUI的运用