
Les documents Microsoft Word sont essentiels pour créer et partager du contenu textuel. Si vous développez des applications C# qui interagissent avec ces documents, vous pourriez avoir besoin d’extraire du texte. Cela peut être pour des raisons telles que l’analyse de texte ou l’extraction de sections spécifiques d’un document pour les compiler dans un nouveau. Dans cet article de blog, nous allons explorer les méthodes d’extraction de texte à partir de documents Word en C#.
Table des matières
- Bibliothèque C# pour l’extraction de texte
- Comprendre l’extraction de texte dans les documents Word
- Guide étape par étape pour extraire du texte d’un document Word
Bibliothèque C# pour l’extraction de texte
Aspose.Words for .NET est une bibliothèque puissante et conviviale conçue pour travailler avec des documents Word. Elle fournit un ensemble complet de fonctionnalités, y compris l’extraction de texte, la création, la manipulation et la conversion de documents. Avec Aspose.Words for .NET, les développeurs peuvent gérer efficacement divers aspects des documents Word, ce qui en fait un outil inestimable pour vos besoins de développement.
Pour commencer, téléchargez la bibliothèque ou installez-la directement depuis NuGet en utilisant la commande suivante dans la console du gestionnaire de paquets :
PM> Install-Package Aspose.Words
Comprendre l’extraction de texte dans les documents Word
Un document MS Word se compose de divers éléments tels que des paragraphes, des tableaux et des images. Par conséquent, les exigences pour l’extraction de texte peuvent varier en fonction du cas d’utilisation spécifique. Vous pourriez avoir besoin d’extraire du texte entre des paragraphes, des signets, des commentaires, et plus encore.
Chaque élément dans un document Word est représenté comme un nœud. Par conséquent, pour traiter efficacement un document, vous devrez travailler avec ces nœuds. Explorons comment extraire du texte des documents Word dans différents scénarios.
Guide étape par étape pour extraire du texte d’un document Word
Dans cette section, nous allons implémenter un extracteur de texte C# pour les documents Word. Le flux de travail pour l’extraction de texte impliquera les étapes suivantes :
- Définir les nœuds à inclure dans le processus d’extraction.
- Extraire le contenu entre les nœuds spécifiés (y compris ou excluant les nœuds de début et de fin).
- Utiliser les nœuds extraits clonés pour créer un nouveau document Word contenant le contenu extrait.
Créons une méthode nommée ExtractContent qui acceptera des nœuds et d’autres paramètres pour effectuer l’extraction de texte. Cette méthode analysera le document et clonera les nœuds en fonction des paramètres suivants :
- StartNode et EndNode : Ceux-ci définissent les points de départ et de fin pour l’extraction de contenu. Ils peuvent être des nœuds de niveau bloc (par exemple, Paragraph, Table) ou des nœuds de niveau en ligne (par exemple, Run, FieldStart, BookmarkStart).
- Pour les champs, passez l’objet FieldStart correspondant.
- Pour les signets, utilisez les nœuds BookmarkStart et BookmarkEnd.
- Pour les commentaires, utilisez les nœuds CommentRangeStart et CommentRangeEnd.
- IsInclusive : Ce paramètre détermine si les marqueurs sont inclus dans l’extraction. S’il est défini sur faux et que les mêmes nœuds ou des nœuds consécutifs sont fournis, une liste vide sera renvoyée.
Voici l’implémentation complète de la méthode ExtractContent pour extraire le contenu entre les nœuds spécifiés :
De plus, certaines méthodes d’aide sont nécessaires à la méthode ExtractContent pour faciliter l’opération d’extraction de texte :
Maintenant que nous avons nos méthodes prêtes, nous pouvons procéder à l’extraction de texte d’un document Word.
Extraction de texte entre les paragraphes d’un document Word
Pour extraire du contenu entre deux paragraphes dans un document Word DOCX, suivez ces étapes :
- Chargez le document Word en utilisant la classe Document.
- Obtenez des références aux paragraphes de début et de fin en utilisant la méthode Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean).
- Appelez la méthode ExtractContent(startPara, endPara, True) pour extraire les nœuds dans un objet.
- Utilisez la méthode d’aide GenerateDocument(Document, extractedNodes) pour créer un document avec le contenu extrait.
- Enregistrez le nouveau document en utilisant la méthode Document.Save(string).
Voici un exemple de code démontrant comment extraire du texte entre le 7ème et le 11ème paragraphe dans un document Word :
Extraction de texte entre différents types de nœuds
Vous pouvez également extraire du contenu entre différents types de nœuds. Par exemple, extrayons du contenu entre un paragraphe et un tableau et sauvegardons-le dans un nouveau document Word. Les étapes sont les suivantes :
- Chargez le document Word en utilisant la classe Document.
- Obtenez des références aux nœuds de début et de fin en utilisant la méthode Document.FirstSection.Body.GetChild(NodeType, int, boolean).
- Appelez ExtractContent(startPara, endPara, True) pour extraire les nœuds dans un objet.
- Utilisez la méthode d’aide GenerateDocument(Document, extractedNodes) pour créer un document avec le contenu extrait.
- Enregistrez le nouveau document en utilisant Document.Save(string).
Voici l’exemple de code pour extraire du texte entre un paragraphe et un tableau en C# :
Extraction de texte basée sur des styles
Pour extraire du contenu entre des paragraphes en fonction des styles, suivez ces étapes. Pour cette démonstration, nous allons extraire le contenu entre le premier “Titre 1” et le premier “Titre 3” dans le document Word :
- Chargez le document Word en utilisant la classe Document.
- Extraire les paragraphes dans un objet en utilisant la méthode d’aide ParagraphsByStyleName(Document, “Heading 1”).
- Extraire les paragraphes dans un autre objet en utilisant ParagraphsByStyleName(Document, “Heading 3”).
- Appelez ExtractContent(startPara, endPara, True) avec les premiers éléments des deux tableaux de paragraphes.
- Utilisez la méthode d’aide GenerateDocument(Document, extractedNodes) pour créer un document avec le contenu extrait.
- Enregistrez le nouveau document en utilisant Document.Save(string).
Voici un exemple de code pour extraire du contenu entre des paragraphes en fonction des styles :
En savoir plus sur l’extraction de texte
Explorez des scénarios supplémentaires pour extraire du texte des documents Word à travers cet article de documentation.
Obtenez une bibliothèque d’extraction de texte Word gratuite
Vous pouvez obtenir une licence temporaire gratuite pour extraire du texte sans limitations d’évaluation.
Conclusion
Aspose.Words for .NET est une bibliothèque polyvalente qui simplifie le processus d’extraction de texte des documents Word en C#. Avec ses fonctionnalités étendues et son API conviviale, vous pouvez travailler efficacement avec des documents Word et automatiser divers scénarios d’extraction de texte. Que vous développiez des applications nécessitant le traitement de documents Word ou que vous souhaitiez simplement extraire du texte, Aspose.Words for .NET est un outil essentiel pour les développeurs.
Pour explorer plus de fonctionnalités d’Aspose.Words for .NET, consultez la documentation. Si vous avez des questions, n’hésitez pas à nous contacter via notre forum.
Voir aussi
- Créer des documents Word en C# sans MS Office
- Générer des documents Word à partir de modèles en C# .NET
Astuce : Vous voudrez peut-être consulter le convertisseur Aspose PowerPoint vers Word, qui démontre le processus populaire de conversion de présentations en documents Word.