Comment extraire du texte d'un fichier DXF en C#

Dans ce guide étape par étape, nous verrons comment extraire du texte du fichier DXF en C#. La conversion DXF en TXT en C# peut être facilement effectuée en extrayant du texte d’entités de différents types. Dans ce didacticiel, nous extrayons uniquement le texte de l’entité CadText. Cependant, le processus est également le même pour les autres entités.

Étapes pour extraire le texte d’un fichier DXF en C#

  1. Obtenez le package Aspose.CAD for .NET de NuGet.org
  2. Inclure les espaces de noms requis avant d’exécuter le code
  3. Définir la licence Aspose à l’aide de la méthode SetLicense
  4. Charger le fichier DXF à l’aide de la classe Image
  5. Convertir l’objet en type CadImage
  6. Parcourez toutes les entités pour récupérer le texte
  7. Vérifiez le type d’entité CadText et obtenez la propriété DefaultValue
  8. Enfin, enregistrez la sortie de texte extraite en tant que fichier TXT

Dans le format graphique CAO DXF, le texte est stocké à l’intérieur des entités uniquement ; par exemple CadText, CadMText, CadInsertObject, CadAttDef ou CadAttrib, etc. Ainsi, pour extraire du texte, vous devez d’abord obtenir chaque entité, puis en extraire le texte. Par souci de simplicité, nous extrayons du texte de l’entité CadText dans ce didacticiel. Mais vous pouvez utiliser la même approche et le même code pour d’autres types d’entités, il suffit de convertir l’objet en un type d’entité particulier.

Code pour extraire le texte d’un fichier DXF en 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();
}
}
}

Dans l’exemple de code C# ci-dessus pour extraire le texte du format de fichier DXF, nous conservons le texte extrait dans une variable de chaîne et à la fin, enregistrons tout le texte extrait dans un fichier TXT à l’aide de flux de fichiers. Dans tout ce processus d’extraction de texte de CAD file formats, vous n’avez pas besoin d’installer AutoCAD sur votre système et l’API fonctionne sans AutoCAD dans n’importe quelle application C#, y compris Web, Desktop et ASP.NET, etc.

 Français