في هذا الدليل خطوة بخطوة ، سنرى كيفية استخراج النص من ملف DXF في C#. يمكن إجراء تحويل DXF إلى TXT في C# بسهولة عن طريق استخراج نص من كيانات من أنواع مختلفة. في هذا البرنامج التعليمي ، نقوم باستخراج النص من كيان CadText فقط. ومع ذلك ، فإن العملية هي نفسها بالنسبة للكيانات الأخرى أيضًا.
خطوات استخراج النص من ملف DXF في C#
- احصل على حزمة Aspose.CAD for .NET من NuGet.org
- قم بتضمين مساحات الأسماء المطلوبة قبل تشغيل الكود
- تعيين ترخيص Aspose باستخدام طريقة SetLicense
- قم بتحميل ملف DXF باستخدام فئة Image
- تحويل الكائن إلى نوع CadImage
- قم بإجراء حلقة عبر جميع الكيانات لجلب النص
- تحقق من نوع الكيان CadText واحصل على خاصية DefaultValue
- أخيرًا ، احفظ إخراج النص المستخرج كملف TXT
في تنسيق رسومات DXF CAD ، يتم تخزين النص داخل الكيانات فقط ؛ على سبيل المثال CadText أو CadMText أو CadInsertObject أو CadAttDef أو CadAttrib إلخ. لذا لاستخراج النص ، تحتاج أولاً إلى الحصول على كل كيان ثم استرداد النص منه. من أجل البساطة ، نقوم باستخراج النص من كيان CadText في هذا البرنامج التعليمي. ولكن يمكنك استخدام نفس الأسلوب والتعليمات البرمجية لأنواع أخرى من الكيانات ، ما عليك سوى تحويل الكائن إلى نوع كيان معين.
كود لاستخراج النص من ملف DXF في C#
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 على نظامك وتعمل واجهة برمجة التطبيقات بدون AutoCAD في أي تطبيق C# بما في ذلك الويب وسطح المكتب و ASP.NET وما إلى ذلك.