
Les documents Microsoft Word sont essentiels pour créer et partager du contenu textuel. Si vous développez des applications C# qui interagissent avec des documents Word, vous pourriez avoir besoin d’extraire du texte à partir de documents Word en C# dans ASP.NET tout en garantissant que le formatage est préservé. Que vous analysiez du texte, extrayiez des sections spécifiques ou combiniez du contenu en un seul document, ce guide vous montrera comment extraire efficacement du texte à partir de documents Word en utilisant la meilleure bibliothèque C# pour l’extraction de texte de documents Word.
Table des matières
- Bibliothèque C# pour extraire du texte à partir de documents Word
- Comprendre l’extraction de texte dans les documents Word
- Extraire du texte d’un document Word
Bibliothèque C# pour extraire du texte à partir de documents Word
Aspose.Words pour .NET est une bibliothèque riche en fonctionnalités, facile à utiliser, conçue pour travailler avec des documents Word. Elle offre un ensemble complet de fonctionnalités, y compris l’extraction de texte de documents Word .NET, la création, la manipulation et la conversion de documents. Aspose.Words pour .NET est un outil inestimable pour les développeurs recherchant une extraction de texte Word en C# efficace.
Vous pouvez télécharger la DLL ou installer la bibliothèque directement depuis NuGet en utilisant la console du gestionnaire de packages :
PM> Install-Package Aspose.Words
Comprendre l’extraction de texte dans les documents Word
Un document MS Word comprend divers éléments, tels que des paragraphes, des tableaux et des images. Par conséquent, les exigences d’extraction de texte peuvent varier selon le scénario. Par exemple, vous pourriez avoir besoin d’extraire du texte d’un document Word scanné en C# ou d’extraire du texte d’un fichier Word en utilisant C# .NET. Chaque élément d’un document Word est représenté comme un nœud, avec lequel vous interagirez lors du processus d’extraction. Explorons comment extraire du texte à partir de documents Word tout en gérant efficacement le formatage des mots lors de l’extraction de texte en C#.
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 comprend :
- Définir les nœuds à inclure dans le processus d’extraction de texte.
- Extraire le contenu entre les nœuds spécifiés (y compris ou excluant les nœuds de début et de fin).
- Cloner les nœuds extraits pour créer un nouveau document Word contenant le contenu extrait.
Créons une méthode nommée ExtractContent, qui acceptera les nœuds et d’autres paramètres pour l’extraction de texte. Cette méthode analysera le document et clonera les nœuds. Voici les paramètres que nous passerons à la méthode :
- StartNode et EndNode servent de points de départ et d’arrivée pour l’extraction de contenu. Ceux-ci 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, etc.).
- 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 spécifie si les marqueurs sont inclus dans l’extraction. S’il est défini sur false et que les mêmes nœuds ou des nœuds consécutifs sont passés, une liste vide sera renvoyée.
L’implémentation complète de la méthode ExtractContent, qui extrait du texte à partir de documents Word protégés en C#, est la suivante :
De plus, certaines méthodes d’assistance sont nécessaires pour la méthode ExtractContent afin de faciliter l’opération d’extraction de texte :
Nous sommes maintenant prêts à utiliser ces méthodes et extraire du texte à partir de documents Word en C#.
Extraire du texte entre des paragraphes d’un document Word
Pour extraire le contenu entre deux paragraphes dans un document DOCX Word, suivez ces étapes :
- Chargez le document Word en utilisant la classe Document.
- Référencez les 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’assistance GenerateDocument(Document, extractedNodes) pour créer un document contenant le contenu extrait.
- Enfin, enregistrez le document retourné en utilisant la méthode Document.Save(string).
Voici un exemple de code démontrant comment extraire du texte à partir de grands fichiers Word en extrayant le contenu entre le 7ème et le 11ème paragraphes :
Extraire du texte entre différents types de nœuds
Vous pouvez également extraire du contenu entre différents types de nœuds. Par exemple, extrayons le contenu entre un paragraphe et un tableau et sauvegardons-le dans un nouveau document Word. Suivez ces étapes :
- Chargez le document Word en utilisant la classe Document.
- Référencez les nœuds de début et de fin en utilisant la méthode Document.FirstSection.Body.GetChild(NodeType, int, boolean).
- Appelez la méthode ExtractContent(startPara, endPara, true) pour extraire les nœuds dans un objet.
- Utilisez la méthode d’assistance GenerateDocument(Document, extractedNodes) pour créer un document contenant le contenu extrait.
- Enregistrez le document retourné en utilisant la méthode Document.Save(string).
Voici un exemple de code illustrant comment extraire du texte entre un paragraphe et un tableau en C# :
Extraire du texte entre des paragraphes en fonction des styles
Explorons maintenant comment extraire du contenu entre des paragraphes en fonction des styles. Dans cet exemple, nous allons extraire le contenu entre le premier “Titre 1” et le premier “Titre 3” dans le document Word. Suivez ces étapes :
- Chargez le document Word en utilisant la classe Document.
- Extrayez les paragraphes dans un objet en utilisant la méthode d’assistance ParagraphsByStyleName(Document, “Heading 1”).
- Extrayez les paragraphes dans un autre objet en utilisant la méthode d’assistance ParagraphsByStyleName(Document, “Heading 3”).
- Appelez la méthode ExtractContent(startPara, endPara, true), en passant les premiers éléments des deux tableaux de paragraphes comme paramètres.
- Utilisez la méthode d’assistance GenerateDocument(Document, extractedNodes) pour créer un document contenant le contenu extrait.
- Enfin, enregistrez le document retourné en utilisant la méthode Document.Save(string).
Voici un exemple de code démontrant comment extraire du contenu entre des paragraphes en fonction des styles :
En savoir plus sur l’extraction de texte
Explorez d’autres scénarios de l’API .NET pour l’extraction de texte de documents Word dans 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 pour .NET est une bibliothèque polyvalente qui simplifie le processus d’extraction de texte C# à partir de Word tout en préservant le formatage. Avec ses fonctionnalités étendues et son API conviviale, vous pouvez travailler efficacement avec des documents Word et automatiser divers scénarios impliquant la gestion des caractères spéciaux lors de l’extraction de texte Word en C#. Que vous développiez des applications nécessitant le traitement de documents Word ou que vous extrayiez simplement du texte, Aspose.Words pour .NET est un outil précieux pour les développeurs.
Explorez d’autres fonctionnalités d’Aspose.Words pour .NET à travers 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 également consulter le convertisseur Aspose PowerPoint vers Word, qui démontre le processus de conversion de présentation en document Word.