Come estrarre il testo dal file DXF in C#

In questa guida passo passo, vedremo come estrarre il testo dal file DXF in C#. La conversione da DXF a TXT in C# può essere eseguita facilmente estraendo testo da Entità di vario tipo. In questo tutorial, estraiamo il testo solo dall’entità CadText. Tuttavia, il processo è lo stesso anche per altre entità.

Passaggi per estrarre il testo dal file DXF in C#

  1. Ottieni il pacchetto Aspose.CAD for .NET da NuGet.org
  2. Includere gli spazi dei nomi richiesti prima di eseguire il codice
  3. Impostare la licenza Aspose utilizzando il metodo SetLicense
  4. Carica il file DXF utilizzando la classe Image
  5. Converti l’oggetto nel tipo CadImage
  6. Scorri tutte le entità per recuperare il testo
  7. Verifica il tipo di entità CadText e ottieni la proprietà DefaultValue
  8. Infine, salva l’output di testo estratto come file TXT

Nel formato grafico CAD DXF, il testo è memorizzato solo all’interno delle entità; ad esempio CadText, CadMText, CadInsertObject, CadAttDef o CadAttrib ecc. Quindi, per estrarre il testo, è necessario prima ottenere ciascuna entità e quindi recuperare il testo da essa. Per semplicità, in questo tutorial stiamo estraendo il testo dall’entità CadText. Ma puoi usare lo stesso approccio e codice per altri tipi di entità, basta eseguire il cast dell’oggetto su un particolare tipo di entità.

Codice per estrarre il testo dal file DXF in 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();
}
}
}

Nell’esempio di codice C# sopra per estrarre il testo dal formato di file DXF, manteniamo il testo estratto in una variabile stringa e alla fine salviamo tutto il testo estratto in un file TXT utilizzando flussi di file. In questo intero processo per estrarre il testo da CAD file formats, non è necessario che AutoCAD sia installato sul sistema e l’API funziona senza AutoCAD in qualsiasi applicazione C#, inclusi Web, Desktop e ASP.NET ecc.

 Italiano