Como extrair texto do arquivo DXF em C#

Neste guia passo a passo, veremos como extrair texto do arquivo DXF em C#. A conversão de DXF para TXT em C# pode ser feita facilmente extraindo texto de Entidades de vários tipos. Neste tutorial, estamos extraindo texto apenas da entidade CadText. No entanto, o processo é o mesmo para outras entidades também.

Etapas para extrair texto do arquivo DXF em C#

  1. Obtenha o pacote Aspose.CAD for .NET do NuGet.org
  2. Inclua os namespaces necessários antes de executar o código
  3. Definir licença Aspose usando o método SetLicense
  4. Carregue o arquivo DXF usando a classe Image
  5. Converta o objeto para o tipo CadImage
  6. Percorra todas as entidades para buscar texto
  7. Verifique o tipo de entidade CadText e obtenha a propriedade DefaultValue
  8. Por fim, salve a saída de texto extraída como arquivo TXT

No formato gráfico DXF CAD, o texto é armazenado apenas dentro das entidades; por exemplo CadText, CadMText, CadInsertObject, CadAttDef ou CadAttrib etc. Assim, para extrair texto, você precisa primeiro obter cada entidade e depois recuperar o texto dela. Para simplificar, estamos extraindo texto da entidade CadText neste tutorial. Mas você pode usar a mesma abordagem e código para outros tipos de entidades, basta converter o objeto para um tipo de entidade específico.

Código para extrair texto do arquivo DXF em 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();
}
}
}

No exemplo de código C# acima para extrair texto do formato de arquivo DXF, mantemos o texto extraído em uma variável de string e, no final, salvamos todo o texto extraído em um arquivo TXT usando fluxos de arquivo. Em todo esse processo para extrair texto de CAD file formats, você não precisa ter o AutoCAD instalado em seu sistema e a API funciona sem o AutoCAD em qualquer aplicativo C#, incluindo Web, Desktop e ASP.NET etc.

 Português