Aspose.cad java 21.8 关于大DWG(十几M)转为PNG后 DWG中的图像内容看不清

DWG源文件太大无法上传 。java代码以及转换后的png文件如下
save.zip (4.7 KB)

@MNDFJ,
你好。
如果没有最初的图纸,我们无法对这个案例说太多。 请考虑将其上传到某个外部服务器并在此处发布链接,以便我们可以下载。

链接:百度网盘 请输入提取码

@MNDFJ,
恐怕我无法从这个网站下载。 您可以直接将此文件通过电子邮件发送给我吗

活动,我以通过邮件发送源文件,请查收

@MNDFJ,
这种结果可以通过看到一些位于很远的实体来解释,从而使绘图的尺寸变得巨大(见附图)。 您可以在 AutoCAD 中执行 ZOOM EXTENTS 命令后看到它们。
entities.png (3.9 KB)

请问如何通过 Aspose.cad java 21.8 编写程序将这个dwg文件转换为能够清晰看到图像内容的png文件呢?使用给出的示例代码,转换得到对的png文件如下图,图像会变得看不清楚。
save.png (3.0 KB)

@MNDFJ,
不幸的是,这种尺寸的绘图可能会导致此问题。 改进可能包括切换到 PDF 文件格式而不是导出为光栅、删除远处的项目(最好在 AutoCAD 中,但也可以使用代码来完成,问题是如何识别这些实体)、使线条和文本变细,例如 图纸尺寸,它们会看起来很厚。
这是包含这些建议的简短示例:

final CadImage cadImage = (CadImage)Image.load(in);

List<CadBaseEntity> toRemove = new ArrayList<>();

for (CadBaseEntity be : cadImage.getEntities())
{
	if (be.getTypeName() == CadEntityTypeName.DIMENSION)
	{
		CadDimensionBase dimension = (CadDimensionBase)be;
		if (dimension.getDefinitionPoint().getY() >-10000)
		{
			toRemove.add(be);
		}
	}
}

for (CadBaseEntity be : toRemove)
{
	cadImage.removeEntity(be);
}

cadImage.updateSize();

CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.getQuality().setTextThicknessNormalization(true);

for (int i = 0, size = cadImage.getLayers().size(); i < size; i++)
{
	CadLayerTable layer = (CadLayerTable) cadImage.getLayers().get_Item(i);
	layer.setLineWeight((short) 0);
}

PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);

cadImage.save(pdfName, pdfOptions);

好的,感谢你的回复。 :hand_with_index_finger_and_thumb_crossed:

@MNDFJ,
我们很乐意提供帮助 :slight_smile: