Aspose.CAD for .NET是一个独立的AutoCAD处理API。它提供将DWG,DWF和DXF文件转换为高质量PDF和光栅图像的功能。开发人员可以从AutoCAD文件中选择和转换特定的布局和图层,并轻松跟踪整个文件转换过程。
近期Aspose.CAD for .Net更新至最新版v19.9,新增了三个非常实用的新功能——支持通用文件格式、支持水印、支持OLE对象,接下来,我们通过示例来了解新增功能!
CF2文件是可以由CAD / CAM软件和硬件设备处理的三维设计。例如,它可以在折叠之前存储纸板箱的形状和设计。Aspose.CAD提供设备加载通用文件格式,并将其转换为其他格式,如PDF。下面的代码示例演示如何加载通用文件格式的文件并将其转换为PDF。
// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_ConvertingCFF();
using (Image image = Image.Load(MyDir + "WineBottle_Die.cf2"))
{
var options = new PdfOptions();
image.Save(MyDir + "WineBottle_Die_out.pdf",options);
}复制代码
基于Java的示例是:
String dataDir = Utils.getDataDir(CFFToPDF.class) + "CFF/";
//源文件的路径
String sourceFilePath = dataDir+"WineBottle_Die.cf2";
Image image = Image.load(sourceFilePath);
{
PdfOptions options = new PdfOptions();
image.save(dataDir + "WineBottle_Die_out.pdf",options);
}复制代码
水印可防止任何人使用您的专有图像或文件。如果添加它们,您将能够保护您的工作,并阻止任何想要使用您的图像或文件来促进其项目或业务的未经您许可的人。Aspose.CAD允许您在DWG文件中添加水印。这可以通过创建具有特定文本高度,旋转度,样式,调整的Text或MText实体来完成,还应对其进行调整以提供良好的外观。
下面的代码显示了如何使用Aspose.CAD for .NET实现目标。
//文档目录的路径。
string MyDir = RunExamples.GetDataDir_DWGDrawings();
using(CadImage cadImage = (CadImage)Image.Load(MyDir + "Drawing11.dwg")) {
//添加新的MTEXT
CadMText watermark = new CadMText();
watermark.Text = "Watermark message";
watermark.InitialTextHeight = 40;
watermark.InsertionPoint = new Cad3DPoint(300, 40);
watermark.LayerName = "0";
cadImage.BlockEntities["*Model_Space"].AddEntity(watermark);
// 或添加更简单的实体,例如Text
CadText text = new CadText();
text.DefaultValue = "Watermark text";
text.TextHeight = 40;
text.FirstAlignment = new Cad3DPoint(300, 40);
text.LayerName = "0";
cadImage.BlockEntities["*Model_Space"].AddEntity(text);
// 导出为pdf
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.PageWidth = 1600;
rasterizationOptions.PageHeight = 1600;
rasterizationOptions.Layouts = new[] { "Model" };
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.VectorRasterizationOptions = rasterizationOptions;
cadImage.Save(MyDir + "AddWatermark_out.pdf", pdfOptions);
}复制代码
基于Java的示例是:
String dataDir = Utils.getDataDir(AddWatermark.class) + "DWGDrawings/";
////源文件的路径
String sourceFilePath = dataDir+"Drawing11.dwg";
CadImage cadImage = (CadImage) Image.load(sourceFilePath);
//添加新的MTEXT
CadMText watermark = new CadMText();
watermark.setText("Watermark message");
watermark.setInitialTextHeight(40);
watermark.setInsertionPoint(new Cad3DPoint(300, 40));
watermark.setLayerName("0");
cadImage.getBlockEntities().get_Item("*Model_Space").addEntity(watermark);
// 或添加更简单的实体,例如Text
CadText text = new CadText();
text.setDefaultValue("Watermark text");
text.setTextHeight(40);
text.setFirstAlignment(new Cad3DPoint(300, 40));
text.setLayerName("0") ;
cadImage.getBlockEntities().get_Item("*Model_Space").addEntity(text);
//导出为pdf
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
rasterizationOptions.setPageWidth(1600);
rasterizationOptions.setPageHeight(1600);
rasterizationOptions.setLayouts(new String[]{"Model"});
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setVectorRasterizationOptions(rasterizationOptions);
cadImage.save(dataDir + "AddWatermark_out.pdf", pdfOptions);复制代码
对象链接和嵌入(OLE)是Microsoft Windows的一项功能,它使您可以将信息从一个应用程序复制或移动到另一个应用程序,同时又保留了在原始应用程序中编辑信息的能力。Aspose.CAD现在支持从DWG格式导出嵌入式OLE对象。
下面的代码显示了如何使用Aspose.CAD for .NET实现目标。
// The path to the documents directory.
string MyDir = RunExamples.GetDataDir_DWGDrawings();
string[] files = new string[] { "D ZD junior D10m H2m.dwg", "ZD - Senior D6m H2m45.dwg" };
PngOptions pngOptions = new PngOptions { };
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
pngOptions.VectorRasterizationOptions = rasterizationOptions;
rasterizationOptions.Layouts = new string[] { "Layout1" };
foreach (string file in files)
{
using (CadImage cadImage = (CadImage)Image.Load(MyDir + file))
{
cadImage.Save(MyDir + file + "_out.png", pngOptions);
}
}
基于Java的示例是:
String dataDir = Utils.getDataDir(ExportOLEObjects.class) + "DWGDrawings/";
String[] files = new String[] { "D ZD junior D10m H2m.dwg", "ZD - Senior D6m H2m45.dwg" };
PngOptions pngOptions = new PngOptions();
CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions();
pngOptions.setVectorRasterizationOptions(rasterizationOptions);
rasterizationOptions.setLayouts(new String[] { "Layout1" });
for(String file : files)
{
CadImage cadImage = (CadImage)Image.load(dataDir + file);
cadImage.save(dataDir + file + "_out.png", pngOptions);
}
AutoCAD处理工具Aspose.CAD最新版三大新功能推荐——支持水印、CF2格式和OLE对象
原文:https://www.cnblogs.com/mnrssj-Aspsoe/p/11726137.html