В това ръководство стъпка по стъпка ще видим как да извлечем текст от файл 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 на вашата система и API работи без AutoCAD във всяко C# приложение, включително Web, Desktop и ASP.NET и т.н.