We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

使用aspose-imaging包进行emf转为png时报异常

使用产品: Aspose.Imaging for Java

使用aspose-imaging包21.12 版本将emf转为png报异常,详见test.zip

test.zip (634.8 KB)

@aaaConvert
我们已重现该错误并创建了内部问题 IMAGINGJAVA-8013,该问题已附在此票证上,因此您可以查看进度。

补充下:使用 Aspose.PDF For JAVA 20.12版本将1.EMF转png 是正常的,代码如下:
import org.apache.commons.lang3.StringUtils;

import com.aspose.pdf.internal.imaging.fileformats.metafile.EmfMetafileImage;
import com.aspose.pdf.internal.imaging.fileformats.metafile.WmfMetafileImage;
import com.aspose.pdf.internal.imaging.imageoptions.*;

public class EmfToImage {

@SuppressWarnings("resource")
public static boolean convert(String fromPath, String toPath) {		
	EmfMetafileImage emfMetafile = null;
	try {
		emfMetafile = new EmfMetafileImage(fromPath);
		if (StringUtils.endsWithIgnoreCase(toPath, ".jpg")) {
			emfMetafile.save(toPath, new JpegOptions());
		} else {
			emfMetafile.save(toPath, new PngOptions());
		}
		emfMetafile.close();
		emfMetafile.dispose();
		emfMetafile = null;
		return true;
	} catch (Exception e) {
		if (emfMetafile != null) {
			emfMetafile.close();
			emfMetafile.dispose();
			emfMetafile = null;
		}
	}
	return false;
}

}

但使用Aspose.PDF For JAVA 20.12版本用上述代码转换emf时,存在内存没有完全释放问题,如下所示:
bb399698f25796b6bec55344c93c8a3.png (38.4 KB)
另外就是在最新的Aspose.PDF For JAVA 21.11版本里 EmfMetafileImage 没有作为公共成员提供,比较遗憾。
希望Aspose.Imaging for Java产品转换emf时注意规避内存没有完全释放问题。