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 文件中的文本:

  1. 加载现有 DWG 文件。

  2. 通过循环访问 CadText 实体来搜索文本。

  3. 在特定布局上搜索文本。

  4. 将文件导出为 PDF 格式。

在 C 语言中搜索 DWG 图形文件中的文本#

您需要按照以下步骤使用 C# 搜索 DWG 文件中的文本:

  1. 使用 CadImage 类加载现有 DWG 文件。

  2. 通过循环访问 CadText 实体来搜索文本。

  3. 在特定布局上搜索文本。

  4. 将文件导出为 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 图形文件中的文本的详细步骤,希望能帮到您,若有其他问题欢迎关注我们。

CAD处理控件Aspose.CAD功能演示:在 C#中以编程方式搜索 DWG 图形文件中的文本相关推荐

  1. Word处理控件Aspose.Words功能演示:使用 C++ 以编程方式将 Word 转换为 HTML 、MHTML

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  2. Word处理控件Aspose.Words功能演示:使用 Python 查找和替换 Word 文档中的文本

    很多时候,您需要替换 Word 文档中的特定文本或短语.MS Word 具有针对此类情况的内置功能,您可以一键替换所需的文本.在本文中,您将学习如何使用 Python 以编程方式查找和替换 Word ...

  3. Word处理控件Aspose.Words功能演示:用Java从Word文档中提取文本

    Aspose.Words For .NET是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsof ...

  4. Word处理控件Aspose.Words功能演示:从 C# 中的 Word 文档中提取图像

    图像在说明 Word 文档中的关键信息方面发挥着重要作用.此外,它们使文档更具吸引力并改善其呈现方式.作为一名程序员,您可能会得到一份工作来提取嵌入在 Word DOCX 或 DOC 文档中的图像.为 ...

  5. Word处理控件Aspose.Words功能演示:在 Python 中将 TXT 文件转换为 PDF

    各种人使用记事本以TXT格式记下重点或快速创建笔记.此外,TXT 文件用于在各种应用程序中存储纯文本.但是,由于记事本不提供高级功能,因此 TXT 文件通常会转换为PDF.为了以编程方式自动将 TXT ...

  6. Word处理控件Aspose.Words功能演示:在 Java 中将 Word DOC/DOCX 转换为 PDF

    Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word. A ...

  7. Word处理控件Aspose.Words功能演示:使用 Java 将 Word 文档转换为 Markdown

    大多数智能设备,如智能手机.平板电脑.笔记本电脑等,都支持EPUB格式来查看或阅读文档.它是电子书或电子出版物的常用格式.另一方面,MS Word 格式,如DOCX.DOC等,是数字世界中广泛使用的文 ...

  8. Word处理控件Aspose.Words功能演示:使用C#对PDF文件进行进一步修改和转换

    在许多情况下,使用PDF文档时,您需要进行更改:复制,粘贴,拖放特定的PDF内容,例如文本,图像,表格和图表.只要您要处理文档的一小部分,就可以在同一PDF文件中手动执行这些选项.但是,如果您想在更复 ...

  9. Word处理控件Aspose.Words功能演示:在 Python 中将 PDF 转换为 JPG

    PDF文件以文档.发票.收据.文章等形式随处可见.它是打印和共享文档最方便的格式之一.在某些情况下,您必须将 PDF 文件转换为JPG图像以生成缩略图或嵌入到您的前端应用程序中.为此,本文介绍了如何在 ...

最新文章

  1. DNS服务器搭建笔记
  2. RAS RC4 AES 加密 MD5
  3. 更新npm至最新版本
  4. NLP复习资料(7)-机器翻译、文本分类、情感分析
  5. 移动开发js库Zepto.js使用中的一些注意点
  6. 用 #inculde file = ../fiel 报1031错误
  7. 华为机试HJ40:统计字符
  8. ArcMAP 使用绘图工具添加注记
  9. 关于消灭冲击波的蠕虫
  10. IT系统风险管理体系的构建思路
  11. 服务器XP系统打印机共享设置,小编调解xp系统打印机共享设置和使用的详细教程...
  12. 经典查找算法 --- B+树
  13. 从买域名,服务器到cdn分发,加速搭建网站空间最全教程(下)
  14. 第一个被赋予公明身份的机器人_史上首次 沙特授予“女性”机器人索菲娅公民身份...
  15. Shell - 一行脚本统计分组 PV、UV
  16. 《千面英雄》听书笔记
  17. 浅谈:为什么vue和react都选择了Hooks?
  18. 微信支付服务器崩了,29 日微信支付大面积崩溃,多付的钱款可以追回吗?
  19. 社群裂变中用户拒绝分享的原因是什么?
  20. 如何在360站长平台添加站点子链?附详细操作图文教程

热门文章

  1. 区块链概念股分化 新落地公司成新宠
  2. java jdbc excel_详解poi+springmvc+springjdbc导入导出excel实例
  3. pytorch自带网络_群友原创:万字长文入门 Pytorch 深度学习框架
  4. QPainter 绘制阴影边界
  5. Day06-Esayexcel简介及写、读操作-p95、96
  6. ADDS:启用 Advanced Offline Files
  7. “对不起,你的离职是我的错!”
  8. Android最新手机号正则判断(含最新166/198/199开头的手机号)
  9. MIKE 21 教程 2.7 降雨/蒸发(Precipitation-Evaporation)、波浪辐射应力(Wave Radiation)、源(Sources)
  10. 求助: 用DSPACK播放VOB文件的问题