Я пытаюсь использовать Batik для конвертации файла wmf в SVG, но в результате у меня получилось поврежденное изображение.
Может кто-нибудь дать совет, как правильно использовать WMFT-транскодер? Или Батик не поддерживает такой случай?
WMFHeaderProperties prop = new WMFHeaderProperties(data);
TranscoderInput input = new TranscoderInput(new FileInputStream(data));
File svg = new File("data", "08000002.svg");
System.out.println("file: " + svg.getAbsolutePath());
OutputStream stream = new FileOutputStream(svg);
TranscoderOutput output = new TranscoderOutput(stream);
WMFTranscoder transcoder = new WMFTranscoder();
transcoder.addTranscodingHint(WMFTranscoder.KEY_INPUT_WIDTH, prop.getWidthBoundsPixels());
transcoder.addTranscodingHint(WMFTranscoder.KEY_INPUT_HEIGHT, prop.getHeightBoundsPixels());
transcoder.addTranscodingHint(WMFTranscoder.KEY_XOFFSET, prop.getXOffset());
transcoder.addTranscodingHint(WMFTranscoder.KEY_YOFFSET, prop.getYOffset());
transcoder.transcode(input,output);
Есть полный код - https://gist.github.com/sergmain/1cef9921c5d7b44b2ebb53795f63f54b
Исходное изображение в wmf содержит математическую формулу