Aspose diagram for java测试问题

aspose diagram for java测试问题.7z (2.1 MB)
我正在测试aspose diagram for java,但是目前发现有两个问题:
1、emf文件,使用apsose-image java工具包,本地转换很慢,使用apose公网Online Image Converter - Convert Images, Photos, Pictures Free 进行转换很快,时间相差好几倍。
2、vsd转vsdx,内容有丢失。
所有的源文件和示例代码都是在附件里面,请帮忙确认一下问题。

@jillian

请提供更多关于您使用的代码和具体的输入文件的信息,以便我们更好地理解问题。

@jillian
感谢您提供的文件。第一个问题请提供转换的初始文件,谢谢

经过初步测试,我们重现了第二个问题,我们发现vsd转成vsdx时,有些shape丢失了。

我们已在我们的内部问题跟踪系统中打开了以下新工单,并将根据 Free Support Policies 中提到的条款提供他们的修复。

问题 ID:DIAGRAMJAVA-51262
如果您需要优先支持以及直接联系我们的付费支持管理团队,您可以获得 Paid Support Services

aspose diagram for java测试问题.7z (2.1 MB)

第一个问题的源文件在文件夹里面的,请再查看一下

@jillian
您好,第一个问题是apsose-image相关的,我们会联系image的同事来回复这个问题。谢谢!

@jillian
Aspose.Imaging团队很快就会检查您的病例。

@jillian

这个"emf"图像的大小为102827x18063像素,只需要7085MB~7gb RAM即可存储。
另外,解码和绘制它需要大约相同的数量,这意味着您需要大约14GB的RAM。
因此,Aspose映像通过使用磁盘空间切换到内存节省模式。
这是操作缓慢的原因。

在线图像转换器托管在具有大量内存和高速磁盘的服务器上,因此在那里处理速度更快。 或者,在线图像转换器会自动缩放图像(见下文),从而加快其转换速度。

为避免在处理此类图像时出现严重减速,您可以在导出时将图像大小减小到可接受的大小。
例如:

final int MAX_ONE_SIZE = 3000; // pixels
final int MAX_SIZE = MAX_ONE_SIZE * MAX_ONE_SIZE; // 3000 x 3000 pixels

try (Image image = Image.load("emf源文件.emf"))
{
	PngOptions exportOptions = new PngOptions();

	if (image instanceof VectorImage)
	{
		final float imageWidth = image.getWidth();
		final float imageHeight = image.getHeight();
		if (imageWidth * imageHeight > MAX_SIZE)
		{
			float cf = MAX_ONE_SIZE / Math.max(imageWidth, imageHeight);
			final ImageOptionsBase options = image.getOriginalOptions();
			VectorRasterizationOptions vectorOptions = options != null ? options.getVectorRasterizationOptions() : null;
			if (vectorOptions == null)
			{
				vectorOptions = new VectorRasterizationOptions();
			}

			vectorOptions.setPageWidth(imageWidth * cf);
			vectorOptions.setPageHeight(imageHeight * cf);
			exportOptions.setVectorRasterizationOptions(vectorOptions);
		}
	}

	image.save("emf源文件.emf.png", exportOptions);
}

注意:请不要忘记使用 try(){} 处理图像,或者在不再需要图像时自己调用 Image.close(),因为这将加快释放已用内存的过程。

请问这个问题有进展了吗?

@jillian
您好,这个二进制文件的数据比较特殊,我们在加载过程中出现了问题。目前还在继续分析解决中。一旦有任何关于这些问题的更新,我们将及时通知您。
解决时间取决于问题的复杂性和我们当前的任务计划。同时,您可以尝试在 Visio中重新保存此文件(以相同格式或其他格式),有时会有所帮助.

给您带来不便敬请谅解。

@jillian

我们很高兴地通知您,您的问题(票号:“DIAGRAMJAVA-51262”)已得到解决。修复将包含在我们计划于 2025 年 5 月上半月发布的即将发布的版本(Aspose.Diagram v25.5)中。下一个版本发布时,我们会通知您。

The issues you have found earlier (filed as DIAGRAMJAVA-51262) have been fixed in this update. This message was posted using Bugs notification tool by philip.zhou