Extract Text from MS Word Documents in C#

Microsoft Word documents sont une étape pour la création et le partage de contenu texte. Si vous développez des applications C# qui interagissent avec ces documents, vous pourriez avoir besoin d’extraire le texte d’eux. Cela pourrait être à des fins telles que l’analyse du texte ou l’extraire de sections spécifiques d’un document pour compiler dans un nouveau. Dans cet article de blog, nous allons plonger dans les méthodes pour extraire le texte des documents Word en C#.

Table des contenus

C# Bibliothèque pour Extraction de texte

Aspose.Words per .NET C’est une bibliothèque puissante et facile à utiliser conçue pour travailler avec les documents Word. Il fournit un ensemble complet de fonctionnalités, y compris l’extraction de texte, la création de documents, le manipulation et la conversion. Avec Aspose.Words pour .NET, les développeurs peuvent gérer efficacement divers aspects du document Word, ce qui en fait un outil inestimable pour vos besoins de développement.

Pour commencer, Téléchargez la bibliothèque ou l’installer directement à partir de Nouveau Utilisez le commandement suivant dans la console de gestion des paquets :

PM> Install-Package Aspose.Words

Comprendre l’extraction de texte dans les documents Word

Un document MS Word comprend différents éléments tels que les paragraphes, les tables et les images. Par conséquent, les exigences pour l’extraction du texte peuvent varier en fonction du cas d’utilisation spécifique. Vous pouvez avoir besoin d’extraire le texte entre les paragraphes, les notes, les 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 aurez besoin de travailler avec ces nœuds.

Guide étape par étape pour extraire le texte d’un document Word

Dans cette section, nous mettrons en œuvre un extrait de texte C# pour les documents Word. Le flux de travail pour l’extraction de texte impliquera les étapes suivantes:

  • Définissez les nodes à inclure dans le processus d’extraction.
  • Extrait du contenu entre les nœuds spécifiés (y compris ou excluant les nœuds de départ et de fin).
  • Utilisez les nœuds extraits clonés pour créer un nouveau document Word contenant le contenu extrait.

Créons une méthode appelée ExtractContent qui acceptera les nodes et d’autres paramètres pour effectuer l’extraction de texte.Cette méthode parsera le document et clone les nodes sur la base 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 de niveau inline (par exemple, Run, FieldStart, BookmarkStart).- Pour les champs, passez l’objet correspondant FieldStart.

  • Pour les étiquettes, 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 marquants sont inclus dans l’extraction.Si la configuration est fausse et les mêmes ou les nœuds consécutifs sont fournis, une liste vide sera retournée.

Voici la mise en œuvre complète de la méthode ExtractContent pour extraire du contenu entre les nœuds spécifiés:

En outre, certaines méthodes d’aide sont nécessaires par la méthode ExtractContent pour faciliter le travail d’extraction de texte:

Maintenant que nous avons nos méthodes prêtes, nous pouvons procéder à l’extraction du texte d’un document Word.

Extrait de texte entre les paragraphes d’un document Word

Pour extraire du contenu entre deux paragraphes dans un document Word DOCX, suivez les étapes suivantes:

  • Télé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 nodes dans un objet.
  • Utilisez la méthode d’aide GenerateDocument(Document, extraitNodes) pour créer un document avec le contenu extrait.
  • Enregistrer le nouveau document en utilisant la méthode Document.Save(string).

Voici un échantillon de code montrant comment extraire le texte entre les paragraphes 7 et 11 dans un document Word:

Extrait de texte entre différents types de nœuds

Vous pouvez également extraire du contenu entre différents types de nœuds. par exemple, extraire le contenu entre un paragraphe et une table et le sauvegarder dans un nouveau document Word.

  • Téléchargez le document Word en utilisant la classe Document.
  • Obtenez des références aux nœuds de départ et de fin en utilisant la méthode Document.FirstSection.Body.GetChild(NodeType, int, boolean).
  • Appelez ExtractContent(startPara, endPara, True) pour extraire les nodes dans un objet.
  • Utilisez la méthode d’aide GenerateDocument(Document, extraitNodes) pour créer un document avec le contenu extrait.
  • Enregistrer le nouveau document en utilisant Document.Save(string).

Voici l’échantillon de code pour extraire le texte entre un paragraphe et une table en C#:

Extrait de texte basé sur des styles {#extrait-texte-entre-paragraphe-basé sur des styles}

Pour extraire du contenu entre les paragraphes basés sur les styles, suivez ces étapes. Pour cette démonstration, nous extrairons du contenu entre le premier “Title 1” et le premier “Title 3” dans le document Word:

  • Téléchargez le document Word en utilisant la classe Document.
  • Extrait des paragraphes dans un objet en utilisant la méthode d’aide ParagraphsByStyleName(Document, “Title 1”).
  • Extrait des paragraphes dans un autre objet en utilisant ParagraphsByStyleName(Document, “Heading 3].
  • Appelez ExtractContent(startPara, endPara, True) avec les premiers éléments des deux paragraphes.
  • Utilisez la méthode d’aide GenerateDocument(Document, extraitNodes) pour créer un document avec le contenu extrait.
  • Enregistrer le nouveau document en utilisant Document.Save(string).

Voici un échantillon de code pour extraire le contenu entre les paragraphes sur la base 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 gratuite d’extracteurs de texte Word

Vous pouvez obtenir un Licence temporaire gratuite pour extraire le texte sans limites d’évaluation.

Conclusion

Aspose.Words pour .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 l’API facile à utiliser, vous pouvez travailler efficacement avec les documents Word et automatiser différents scénarios d’extraction de texte. Que vous développiez des applications qui nécessitent le traitement de documents Word ou simplement l’extraction de texte, Aspose.Words pour .NET est un outil essentiel pour les développeurs.

Pour explorer plus de fonctionnalités de Aspose.Words pour .NET, vérifiez le La documentationSi vous avez des questions, sentez-vous libre d’arriver à travers notre Forum.

Vedi anche

Tip: Vous pourriez vouloir vérifier le Aspose PowerPoint pour le mot Converteur, qui démontre le processus populaire de la conversion des présentations en documents Word.

More in this category