Aspose.CAD for .NET是一个独立的AutoCAD处理API。它提供将DWG,DWF和DXF文件转换为高质量PDF和光栅图像的功能。开发人员能够从AutoCAD文件中选择和转换特定的布局和图层,并轻松跟踪整个文件转换过程。bash
近期Aspose.CAD for .Net更新至最新版v19.9,新增了三个很是实用的新功能——支持通用文件格式、支持水印、支持OLE对象,接下来,咱们经过示例来了解新增功能!布局
CF2文件是能够由CAD / CAM软件和硬件设备处理的三维设计。例如,它能够在折叠以前存储纸板箱的形状和设计。Aspose.CAD提供设备加载通用文件格式,并将其转换为其余格式,如PDF。下面的代码示例演示如何加载通用文件格式的文件并将其转换为PDF。ui
// 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的示例是:spa
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实现目标。code
//文档目录的路径。
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的示例是:get
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); }