Šiame žingsnis po žingsnio vadove pamatysime, kaip išgauti tekstą iš DXF failo C#. DXF į TXT konvertavimą C# galima lengvai atlikti ištraukus tekstą iš įvairių tipų objektų. Šioje pamokoje mes išgauname tekstą tik iš CadText objekto. Tačiau procesas yra toks pat ir kitiems subjektams.
Veiksmai, kaip ištraukti tekstą iš DXF failo C#
- Gaukite Aspose.CAD for .NET paketą iš NuGet.org
- Prieš paleisdami kodą įtraukite reikiamas vardų sritis
- Nustatykite Aspose licenciją naudodami SetLicense metodą
- Įkelkite DXF failą naudodami Image klasę
- Konvertuokite objektą į CadImage tipą
- Norėdami gauti tekstą, peržiūrėkite visus objektus
- Patikrinkite CadText objekto tipą ir gaukite DefaultValue nuosavybę
- Galiausiai išsaugokite ištrauktą teksto išvestį kaip TXT failą
DXF CAD grafikos formatu tekstas saugomas tik objektų viduje; pavyzdžiui, “CadText”, “CadMText”, “CadInsertObject”, “CadAttDef” arba “CadAttrib” ir tt Taigi, norėdami išgauti tekstą, pirmiausia turite gauti kiekvieną objektą ir tada iš jo gauti tekstą. Paprastumo dėlei šioje pamokoje išgauname tekstą iš CadText objekto. Bet jūs galite naudoti tą patį metodą ir kodą kitų tipų objektams, tiesiog perkelkite objektą į tam tikrą objekto tipą.
Kodas, skirtas ištraukti tekstą iš DXF failo 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(); | |
} | |
} | |
} |
Aukščiau pateiktame C# kodo pavyzdyje, norėdami išgauti tekstą iš DXF failo formato, ištrauktą tekstą laikome eilutės kintamajame ir pabaigoje išsaugome visą ištrauktą tekstą TXT faile naudodami failų srautus. Atliekant visą šį procesą, norint išgauti tekstą iš CAD file formats, sistemoje nereikia įdiegti AutoCAD, o API veikia be AutoCAD jokioje C# programoje, įskaitant žiniatinklį, darbalaukį, ASP.NET ir kt.