이 단계별 가이드에서는 C#의 DXF 파일에서 텍스트를 추출하는 방법을 알아보겠습니다. C#의 DXF에서 TXT로의 변환은 다양한 유형의 엔터티에서 텍스트를 추출하여 쉽게 수행할 수 있습니다. 이 튜토리얼에서는 CadText 엔티티에서만 텍스트를 추출합니다. 그러나 프로세스는 다른 엔터티에서도 동일합니다.
C#의 DXF 파일에서 텍스트를 추출하는 단계
- NuGet.org에서 Aspose.CAD for .NET 패키지 다운로드
- 코드를 실행하기 전에 필요한 네임스페이스를 포함합니다.
- SetLicense 메서드를 사용하여 Aspose 라이선스 설정
- Image 클래스를 사용하여 DXF 파일 로드
- 개체를 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(); | |
} | |
} | |
} |
DXF 파일 형식에서 텍스트를 추출하기 위한 위의 C# 코드 샘플에서 추출된 텍스트를 문자열 변수에 유지하고 마지막에 파일 스트림을 사용하여 추출된 모든 텍스트를 TXT 파일에 저장합니다. CAD file formats에서 텍스트를 추출하는 이 전체 프로세스에서 시스템에 AutoCAD를 설치할 필요가 없으며 API는 웹, 데스크톱 및 ASP.NET 등을 포함한 모든 C# 응용프로그램에서 AutoCAD 없이 작동합니다.