CAD处理控件Aspose.CAD功能在 C#以编程方式搜索 DWG 图形文件的文本
Aspose.CAD 是一个独立的类库,以加强 Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
DWG 图形文件包含二维或三维设计数据。它被设计师、工程师和建筑师广泛使用。在某些情况下,您可能需要在 DWG 文件中查找一些文本。因此,本文讨论如何在 C# 中以编程方式搜索 DWG 文件中的文本。
在 DWG 图形文件中查找文本 – C# API 配置
Aspose.CAD for .NET 支持创建或操作不同的 CAD 绘图,如 DWG、DXF 和其他几种文件格式。可以通过从“下载”部分下载 DLL 文件或运行以下 NuGet 安装命令来轻松设置 API:
PM> 安装包 Aspose.CAD
如何使用 C 搜索 DWG 文件中的文本#
以下步骤演示如何使用 C# 搜索 DWG 文件中的文本:
-
加载现有 DWG 文件。
-
通过循环访问 CadText 实体来搜索文本。
-
在特定布局上搜索文本。
-
将文件导出为 PDF 格式。
在 C 语言中搜索 DWG 图形文件中的文本#
您需要按照以下步骤使用 C# 搜索 DWG 文件中的文本:
-
使用 CadImage 类加载现有 DWG 文件。
-
通过循环访问 CadText 实体来搜索文本。
-
在特定布局上搜索文本。
-
将文件导出为 PDF 格式。
下面的代码示例演示如何使用 C# 搜索 DWG 文件中的文本:
// Load an existing DWG file as CadImage. using (CadImage cadImage = (CadImage)Aspose.CAD.Image.Load(sourceFilePath)) { // Search for text in the file foreach (CadBaseEntity entity in cadImage.Entities) { // We iterate through CadText entities, but some other entities may contain text also, e.g. CadMText and others IterateCADNodes(entity); } // Search for text on specific layout get all layout names and link each layout with corresponding block with entities CadLayoutDictionary layouts = cadImage.Layouts; string[] layoutNames = new string[layouts.Count]; int i = 0; foreach (CadLayout layout in layouts.Values) { layoutNames[i ] = layout.LayoutName; System.Console.WriteLine("Layout " layout.LayoutName " is found"); // Find block, applicable for DWG only CadBlockTableObject blockTableObjectReference = null; foreach (CadBlockTableObject tableObject in cadImage.BlocksTables) { if (string.Equals(tableObject.HardPointerToLayout, layout.ObjectHandle)) { blockTableObjectReference = tableObject; break; } } if (blockTableObjectReference != null) { // Collection cadBlockEntity.Entities contains information about all entities on specific layout CadBlockEntity cadBlockEntity = cadImage.BlockEntities[blockTableObjectReference.BlockName]; } } // Export to PDF CadRasterizationOptions rasterizationOptions = new CadRasterizationOptions(); rasterizationOptions.PageWidth = 1600; rasterizationOptions.PageHeight = 1600; rasterizationOptions.AutomaticLayoutsScaling = true; // If cadBlockEntity collection for selected layout or entitiesOnLayouts collection by layout's BlockTableRecordHandle (for dxf) is empty rasterizationOptions.Layouts = new[] { "Layout1" }; ImageOptions.PdfOptions pdfOptions = new PdfOptions(); pdfOptions.VectorRasterizationOptions = rasterizationOptions; cadImage.Save("SearchText_CAD.pdf", pdfOptions); } public static void SearchTextInDWGAutoCADFile() { // The path to the documents directory. string sourceFilePath = "search.dwg"; // Load an existing DWG file as CadImage. CadImage cadImage = (CadImage)Aspose.CAD.Image.Load(sourceFilePath); // Search for text in the entities section foreach (var entity in cadImage.Entities) { IterateCADNodes(entity); } // Search for text in the block section foreach (CadBlockEntity blockEntity in cadImage.BlockEntities.Values) { foreach (var entity in blockEntity.Entities) { IterateCADNodes(entity); } } } private static void IterateCADNodes(CadBaseEntity obj) { switch (obj.TypeName) { case CadEntityTypeName.TEXT: CadText childObjectText = (CadText)obj; Console.WriteLine(childObjectText.DefaultValue); break; case CadEntityTypeName.MTEXT: CadMText childObjectMText = (CadMText)obj; Console.WriteLine(childObjectMText.Text); break; case CadEntityTypeName.INSERT: CadInsertObject childInsertObject = (CadInsertObject)obj; foreach (var tempobj in childInsertObject.ChildObjects) { IterateCADNodes(tempobj); } break; case CadEntityTypeName.ATTDEF: CadAttDef attDef = (CadAttDef)obj; Console.WriteLine(attDef.DefaultString); break; case CadEntityTypeName.ATTRIB: CadAttrib attAttrib = (CadAttrib)obj; Console.WriteLine(attAttrib.DefaultText); break; } }
以上便是如何使用在 C#中以编程方式搜索 DWG 图形文件中的文本的详细步骤,希望能帮到您,若有其他问题欢迎关注我们。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfkbka
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01