国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

CAD處理控件Aspose.CAD功能演示:在 C#中以編程方式搜索 DWG 圖形文件中的文本

這篇具有很好參考價(jià)值的文章主要介紹了CAD處理控件Aspose.CAD功能演示:在 C#中以編程方式搜索 DWG 圖形文件中的文本。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Aspose.CAD 是一個獨(dú)立的類庫,以加強(qiáng) Java應(yīng)用程序處理和渲染CAD圖紙,而不需要AutoCAD或任何其他渲染工作流程。該CAD類庫允許將DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和圖層高質(zhì)量地轉(zhuǎn)換為PDF和光柵圖像格式。

Aspose API支持流行文件格式處理,并允許將各類文檔導(dǎo)出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。

DWG 圖形文件包含二維或三維設(shè)計(jì)數(shù)據(jù)。它被設(shè)計(jì)師、工程師和建筑師廣泛使用。在某些情況下,您可能需要在 DWG 文件中查找一些文本。因此,本文討論如何在 C# 中以編程方式搜索 DWG 文件中的文本。

在 DWG 圖形文件中查找文本 – C# API 配置

Aspose.CAD for .NET 支持創(chuàng)建或操作不同的 CAD 繪圖,如 DWG、DXF 和其他幾種文件格式??梢酝ㄟ^從“下載”部分下載 DLL 文件或運(yùn)行以下 NuGet 安裝命令來輕松設(shè)置 API:

PM> 安裝包 Aspose.CAD

如何使用 C 搜索 DWG 文件中的文本#

以下步驟演示如何使用 C# 搜索 DWG 文件中的文本:

  1. 加載現(xiàn)有 DWG 文件。

  2. 通過循環(huán)訪問 CadText 實(shí)體來搜索文本。

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

  4. 將文件導(dǎo)出為 PDF 格式。

在 C 語言中搜索 DWG 圖形文件中的文本#

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

  1. 使用 CadImage 類加載現(xiàn)有 DWG 文件。

  2. 通過循環(huán)訪問 CadText 實(shí)體來搜索文本。

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

  4. 將文件導(dǎo)出為 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 圖形文件中的文本的詳細(xì)步驟,希望能幫到您,若有其他問題歡迎關(guān)注我們。文章來源地址http://www.zghlxwxcb.cn/news/detail-442146.html

到了這里,關(guān)于CAD處理控件Aspose.CAD功能演示:在 C#中以編程方式搜索 DWG 圖形文件中的文本的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 條碼控件Aspose.BarCode入門教程(8):C#從圖像中讀取條形碼

    條碼控件Aspose.BarCode入門教程(8):C#從圖像中讀取條形碼

    Aspose.BarCode for .NET?是一個功能強(qiáng)大的API,可以從任意角度生成和識別多種圖像類型的一維和二維條形碼。開發(fā)人員可以輕松添加條形碼生成和識別功能,以及在.NET應(yīng)用程序中將生成的條形碼導(dǎo)出為高質(zhì)量的圖像格式。 Aspose API支持流行文件格式處理,并允許將各類文檔導(dǎo)出或

    2023年04月25日
    瀏覽(15)
  • 郵件處理控件 Aspose.Email For Java 授權(quán)須知

    Aspose.Email 是用于輕松的開發(fā)?email?功能的應(yīng)用程序的一組控件,基于 ?ASP.NET?的Web應(yīng)用、Web服務(wù)和Windows?應(yīng)用。支持?Outlook?PST,?EML,?MSG,?and?MHT?格式.?允許開發(fā)者直接與?SMTP,?POP,?FTP,?和?MS?Exchange?服務(wù)器進(jìn)行工作。支持郵件合并、行事歷、定制郵件標(biāo)題和內(nèi)容、嵌入文

    2024年02月16日
    瀏覽(20)
  • Excel處理控件Aspose.Cells教程:Java 在 Excel 中插入和刪除行和列

    Aspose.Cells?是Excel電子表格編程API,可加快電子表格的管理和處理任務(wù),支持構(gòu)建能夠生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印電子表格的跨平臺應(yīng)用程序。同時(shí)不依賴于Microsoft Excel或任何Microsoft Office Interop組件, Aspose API?支持旗下產(chǎn)品覆蓋文檔、圖表、PDF、條碼、OCR、CAD、HTML、電子

    2024年02月01日
    瀏覽(37)
  • AI教我學(xué)編程之C#變量及實(shí)例演示

    AI教我學(xué)編程之C#變量及實(shí)例演示

    在AI教我學(xué)編程之AI自刀 這篇文章中,我們知道了變量的基礎(chǔ)類型,那么變量在C#中有什么作用呢?我們一起來看看吧! 重點(diǎn)先知 變量 變量類型 實(shí)例演示 變量聲明 實(shí)例演示 提出疑問 初始化變量 自動初始化 多變量聲明 實(shí)例演示 使用變量的值 實(shí)例演示 靜態(tài)類型和dynamic 關(guān)

    2024年01月21日
    瀏覽(41)
  • C#控件編程之顯示信息控件(Label、LinkLabel)

    C#控件編程之顯示信息控件(Label、LinkLabel)

    摘要:Windows窗體設(shè)計(jì)程序提供眾多控件,其中,工具箱窗口的公共控件欄里包含較為常見的控件。根據(jù)功能分類,其中用于顯示信息的控件包括標(biāo)簽(Label)和超鏈接標(biāo)簽(LinkLabel)。Label用于顯示不可編輯的信息,LinkLabel除顯示不可編輯信息外,還提供執(zhí)行文件、網(wǎng)址和電

    2024年02月13日
    瀏覽(31)
  • C#控件編程詳解之文本框(TextBox)

    C#控件編程詳解之文本框(TextBox)

    摘要:以自身開發(fā)經(jīng)驗(yàn),從屬性與事件詳解文本框(TextBox)的用法。 編程語言:C# 編程環(huán)境:Visual Studio 2019 目錄 TextBox控件屬性? 布局 設(shè)計(jì) 外觀 行為? TextBox控件事件? 小結(jié)? 每篇寄語 ? ? ? ? TextBox提供文字輸入和顯示功能,應(yīng)用廣泛,隨處可見,作為一個Winform開發(fā)者,

    2024年02月16日
    瀏覽(23)
  • C# wpf 實(shí)現(xiàn)任意控件(包括窗口)更多調(diào)整大小功能

    C# wpf 實(shí)現(xiàn)任意控件(包括窗口)更多調(diào)整大小功能

    第一節(jié) Grid內(nèi)控件拖動調(diào)整大小 第二節(jié) Canvas內(nèi)控件拖動調(diào)整大小 第三節(jié) 窗口拖動調(diào)整大小 第四節(jié) 附加屬性實(shí)現(xiàn)拖動調(diào)整大小 第五章 拓展更多調(diào)整大小功能(本章) 上一章我們已經(jīng)實(shí)現(xiàn)了任意控件統(tǒng)一的拖動調(diào)整功能,能夠方便的給任意控件設(shè)置拖動調(diào)整大小。開發(fā)過程

    2024年01月18日
    瀏覽(22)
  • excel功能區(qū)(ribbonx)編程筆記--2 button控件與checkbox控件

    excel功能區(qū)(ribbonx)編程筆記--2 button控件與checkbox控件

    我們上一章簡單先了解了ribbonx的基本內(nèi)容,以及使用舉例實(shí)現(xiàn)自己修改ribbox的內(nèi)容,本章緊接上一章,先講解一下ribbonx的button控件。 在功能區(qū)的按鈕中,可以使用內(nèi)置圖像或提供自已的圖像,可以指定大按鈕或者更小的形式,添加少量的代碼甚至可以同時(shí)提供標(biāo)簽。此外,

    2024年02月11日
    瀏覽(25)
  • Winform中實(shí)現(xiàn)窗體控件適配(自適應(yīng)窗體)布局_通過C#代碼方式

    Winform中實(shí)現(xiàn)窗體控件適配(自適應(yīng)窗體)布局_通過C#代碼方式

    即:未啟用控件縮放效果代碼時(shí),控件內(nèi)容都是固定在窗體界面的指定位置,不會跟隨窗體的拉伸,放大而進(jìn)行適配,如下圖所示: 即:啟用控件縮放效果代碼時(shí),控件內(nèi)容會跟隨窗體的拉伸,放大而進(jìn)行適配,如下圖所示: 實(shí)現(xiàn)思路是: ①在窗體初始化時(shí)先獲取窗體的寬

    2023年04月17日
    瀏覽(28)
  • 解決app中以webview的方式嵌入h5網(wǎng)頁,h5網(wǎng)頁加載不出來

    解決app中以webview的方式嵌入h5網(wǎng)頁,h5網(wǎng)頁加載不出來

    問題描述 :我的h5網(wǎng)頁在web端和手機(jī)瀏覽器都能正常渲染展示,但是嵌入到客戶的webview中,渲染加載不出來,仔細(xì)檢查代碼之后并沒有任何代碼錯誤和后臺報(bào)錯。抓耳撓腮查找兩天之后發(fā)現(xiàn), 原因?yàn)檎麄€h5網(wǎng)頁的最外層高度設(shè)置成了100vh 解決方法 : 頁面高度設(shè)置為:height:

    2024年02月22日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包