Bu adım adım kılavuzda, C# ile DXF dosyasından nasıl metin çıkarılacağını göreceğiz. C# dilinde DXF’den TXT’ye dönüştürme, çeşitli türlerdeki Varlıklardan metin ayıklanarak kolayca yapılabilir. Bu öğreticide, yalnızca CadText varlığından metin çıkarıyoruz. Ancak, süreç diğer varlıklar için de aynıdır.
C# DXF Dosyasından Metin Çıkarma Adımları
- NuGet.org’dan Aspose.CAD for .NET paketini alın
- Kodu çalıştırmadan önce gerekli ad alanlarını ekleyin
- Aspose lisansını SetLicense yöntemini kullanarak ayarlayın
- Image sınıfını kullanarak DXF dosyasını yükleyin
- Nesneyi CadImage türüne dönüştürün
- Metin almak için tüm varlıklar arasında dolaşın
- CadText varlık türünü kontrol edin ve DefaultValue özelliğini alın
- Son olarak, çıkarılan metin çıktısını TXT dosyası olarak kaydedin
DXF CAD grafik formatında, metin yalnızca varlıkların içinde saklanır; örneğin CadText, CadMText, CadInsertObject, CadAttDef veya CadAttrib vb. Bu nedenle, metni çıkarmak için önce her bir varlığı almanız ve ardından ondan metin almanız gerekir. Basitlik adına, bu öğreticide CadText varlığından metin çıkarıyoruz. Ancak aynı yaklaşımı ve kodu diğer varlık türleri için de kullanabilirsiniz, yalnızca nesneyi belirli varlık türüne dönüştürün.
C# DXF Dosyasından Metin Çıkarma Kodu
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(); | |
} | |
} | |
} |
DXF dosya formatından metin çıkarmak için yukarıdaki C# kod örneğinde, ayıklanan metni bir dize değişkeninde tutuyoruz ve sonunda, ayıklanan tüm metni dosya akışlarını kullanarak bir TXT dosyasına kaydediyoruz. CAD file formats‘den metin çıkarmak için tüm bu süreçte, sisteminizde AutoCAD’in kurulu olmasına gerek yoktur ve API, Web, Masaüstü ve ASP.NET vb. dahil olmak üzere herhangi bir C# uygulamasında AutoCAD olmadan çalışır.