没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:颜馨|2023-05-09 10:32:41.623|阅读 99 次
概述:本文介绍了如何使用 Java 以编程方式在 DWG 文件中搜索文本字符串。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
Aspose.CAD 是一个独立的类库,以加强 Java应用程序处理和渲染CAD图纸,而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
DWG 图形文件包含二维或三维设计数据。它被设计师、工程师和建筑师广泛使用。在某些情况下,您可能需要在 DWG 文件中查找一些文本。因此,本文讨论如何在 C# 中以编程方式搜索 DWG 文件中的文本。
Aspose.CAD for .NET 支持创建或操作不同的 CAD 绘图,如 DWG、DXF 和其他几种文件格式。可以通过从“下载”部分下载 DLL 文件或运行以下 NuGet 安装命令来轻松设置 API:
PM> 安装包 Aspose.CAD
以下步骤演示如何使用 C# 搜索 DWG 文件中的文本:
您需要按照以下步骤使用 C# 搜索 DWG 文件中的文本:
下面的代码示例演示如何使用 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 图形文件中的文本的详细步骤,希望能帮到您,若有其他问题欢迎加入我们的技术交流群,或关注我们。
欢迎下载|体验更多Aspose产品
获取更多信息请咨询或 加入Aspose技术交流群(761297826)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
FastReport .NET 的主要功能之一是能够将多份报告合并为一份。当您需要合并来自不同来源的数据或以更方便的格式呈现信息时,此功能非常有用。在本文中,我们将讨论如何在 FastReport .NET 中将多份报告合并为一份。
本文将手把手教你如何用VMProtect对这一关键函数进行虚拟化保护,大幅提升代码安全性,让逆向工程攻击者无从下手!
在 PDF 文档中添加页眉和页脚有助于保持一致的版式和专业的外观。本文将介绍如何使用 Spire.PDF for Java,通过 Java 在现有的 PDF 文档中添加页眉和页脚,并提供详细的步骤和代码示例。
对于开发人员来说,由于自动化和定制化,通常首选使用编程方法来去除 PDF 中的水印。Aspose.PDF 提供可靠且可定制的解决方案,可无缝集成到各种应用程序中,确保准确性并保持文档完整性。
不需要安装AutoCAD和任何其他软件,即可将AutoCAD DWG和DXF文件转换成高品质的PDF和光栅图像!
Aspose.Cells for .NET专业的电子表格控件,无需MS Excel也可满足一切Excel表格功能。
Aspose.Words for .NET无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢