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#
- Obtenha o pacote Aspose.CAD for .NET do NuGet.org
- Inclua os namespaces necessários antes de executar o código
- Definir licença Aspose usando o método SetLicense
- Carregue o arquivo DXF usando a classe Image
- Converta o objeto para o tipo CadImage
- Percorra todas as entidades para buscar texto
- Verifique o tipo de entidade CadText e obtenha a propriedade DefaultValue
- 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.