Այս քայլ առ քայլ ուղեցույցում մենք կտեսնենք, թե ինչպես կարելի է տեքստ հանել DXF ֆայլից C#-ում: DXF-ի TXT-ի փոխարկումը C#-ում կարելի է հեշտությամբ կատարել՝ տեքստը հանելով տարբեր տեսակների սուբյեկտներից: Այս ձեռնարկում մենք տեքստ ենք հանում միայն CadText կազմից: Այնուամենայնիվ, գործընթացը նույնն է նաև այլ սուբյեկտների համար:
C#-ով DXF ֆայլից տեքստ հանելու քայլեր
- Ստացեք Aspose.CAD for .NET փաթեթը NuGet.org-ից
- Ներառեք անհրաժեշտ անվանատարածքները նախքան կոդը գործարկելը
- Սահմանեք Aspose լիցենզիան՝ օգտագործելով SetLicense մեթոդը
- Բեռնել DXF ֆայլը՝ օգտագործելով Image դասը
- Փոխարկեք օբյեկտը CadImage տեսակի
- Տեքստ բերելու համար անցեք բոլոր օբյեկտների միջով
- Ստուգեք CadText օբյեկտի տեսակը և ստացեք DefaultValue հատկությունը
- Ի վերջո, պահպանեք արդյունահանված տեքստը որպես TXT ֆայլ
DXF CAD գրաֆիկական ձևաչափով տեքստը պահվում է միայն սուբյեկտների ներսում. օրինակ՝ CadText, CadMText, CadInsertObject, CadAttDef կամ CadAttrib և այլն: Այսպիսով, տեքստ հանելու համար նախ պետք է ստանալ յուրաքանչյուր էություն, այնուհետև տեքստ ստանալ դրանից: Պարզության համար մենք այս ձեռնարկում տեքստ ենք հանում CadText կազմից: Բայց դուք կարող եք օգտագործել նույն մոտեցումը և ծածկագիրը այլ տեսակի սուբյեկտների համար, պարզապես օբյեկտը փոխանցեք որոշակի անձի տեսակի:
Կոդ՝ C#-ով DXF ֆայլից տեքստ հանելու համար
using System; | |
using System.IO; | |
//Add reference to Aspose.CAD for .NET API | |
//Use following namespaces to extract text from DXF file | |
using Aspose.CAD; | |
using Aspose.CAD.FileFormats.Cad; | |
using Aspose.CAD.FileFormats.Cad.CadObjects; | |
using Aspose.CAD.FileFormats.Cad.CadConsts; | |
namespace ExtractTextFromDXFFile | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
//Set Aspose license before extracting text from DXF file format | |
//using Aspose.CAD for .NET | |
Aspose.CAD.License AsposeCADLicense = new Aspose.CAD.License(); | |
AsposeCADLicense.SetLicense(@"c:\asposelicense\license.lic"); | |
CadImage DXFCADImagFile = (CadImage) Image.Load("InputDXFCADImagingFile.dxf"); | |
//string to store extracted text from the DXF file | |
string TextExtractedFromDXFFile = ""; | |
// Search for text in the entities section | |
foreach (CadBaseEntity CadEntity in DXFCADImagFile.Entities) | |
{ | |
if (CadEntity.TypeName == CadEntityTypeName.TEXT) | |
{ | |
CadText CadTextObject = (CadText)CadEntity; | |
TextExtractedFromDXFFile += CadTextObject.DefaultValue; | |
} | |
} | |
//Save the text extracted from DXF file using File Stream | |
FileStream FStream = new FileStream("ExtractTextFromDXFFormat.txt", FileMode.Create); | |
StreamWriter SWriter = new StreamWriter(FStream); | |
//Write extracted text to the file | |
SWriter.WriteLine(TextExtractedFromDXFFile); | |
SWriter.Flush(); | |
//Close file objects | |
SWriter.Close(); | |
FStream.Close(); | |
} | |
} | |
} |
Վերոնշյալ C# կոդի նմուշում՝ DXF ֆայլի ձևաչափից տեքստ հանելու համար, մենք արդյունահանված տեքստը պահում ենք տողային փոփոխականի մեջ և վերջում պահպանում ենք բոլոր արդյունահանված տեքստը TXT ֆայլում՝ օգտագործելով ֆայլերի հոսքերը: Այս ամբողջ գործընթացում CAD file formats-ից տեքստ հանելու համար ձեզ հարկավոր չէ, որ ձեր համակարգում տեղադրված լինի AutoCAD, և API-ն աշխատում է առանց AutoCAD-ի ցանկացած C# հավելվածում, ներառյալ Web, Desktop և ASP.NET և այլն: