WMFファイルをJPEGファイルに変換しようとしています。
ただ、Image.save(OutputStream var1, ImageOptionsBase var2) メソッドを実行すると、いつまで待っても処理が終わりません。
これはバグでしょうか?
ご確認のほどよろしくお願いいたします。
使用バージョン : Aspose.Imaging for Java 21.7
JavaのHeapサイズ : -Xmx8g
サンプルファイル : wmf_files.zip (2.3 MB)
以下は、Image.save を実行しているプログラムです。
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.imaging.Image;
import com.aspose.imaging.ImageOptionsBase;
import com.aspose.imaging.imageoptions.JpegOptions;
import com.aspose.imaging.imageoptions.VectorRasterizationOptions;
import com.aspose.imaging.imageoptions.WmfRasterizationOptions;
public class TestConverter {
public static void main(String[] args) throws Exception {
Path inputFilePath = Paths.get("C:\\_slow_files\\1014094.wmf");
//Path inputFilePath = Paths.get("C:\\_slow_files\\1109822.wmf");
Path outputFilePath = Paths.get(inputFilePath.toString() + ".jpeg");
try (WmfRasterizationOptions rasterizationOptions = new WmfRasterizationOptions()) {
convertVectorRasterizationTo(inputFilePath, outputFilePath, rasterizationOptions);
}
}
private static void convertVectorRasterizationTo(
Path inputPath, Path outputPath, VectorRasterizationOptions rasterizationOptions)
throws IOException {
try (OutputStream outputStream = Files.newOutputStream(outputPath);
InputStream inputStream = Files.newInputStream(inputPath);
Image image = Image.load(inputStream);
ImageOptionsBase options = new JpegOptions();) {
rasterizationOptions.setPageWidth(image.getWidth());
rasterizationOptions.setPageHeight(image.getHeight());
options.setVectorRasterizationOptions(rasterizationOptions);
image.save(outputStream, options);
}
}
}