Extraire du texte de DOCX avec IronWord

This article was translated from English: Does it need improvement?
Translated
View the article in English

La méthode ExtractText() d'IronWord vous permet d'extraire du texte de fichiers DOCX en accédant à des documents entiers, à des paragraphes spécifiques ou à des cellules de tableau, fournissant ainsi une API simple pour les tâches de traitement de documents et d'analyse de données en C#.

Démarrage rapide : extraction de texte à partir de DOCX

  1. Installez le paquet NuGet IronWord : Install-Package IronWord
  2. Créez ou chargez un WordDocument : WordDocument doc = new WordDocument("document.docx");
  3. Extrayez tout le texte : string text = doc.ExtractText();
  4. Extrait d'un paragraphe spécifique : string para = doc.Paragraphs[0].ExtractText();
  5. Extrait d'une cellule de tableau : chaîne de caractères cell = doc.Tables[0].Rows[0].Cells[0].ExtractText();

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronWord avec le gestionnaire de packages NuGet

    PM > Install-Package IronWord

  2. Copiez et exécutez cet extrait de code.

    using IronWord;
    
    // Quick example: Extract all text from DOCX
    WordDocument doc = new WordDocument("sample.docx");
    string allText = doc.ExtractText();
    Console.WriteLine(allText);
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronWord dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

L'extraction de texte à partir de fichiers DOCX est une exigence courante pour le traitement des documents et l'analyse des données. IronWord offre une méthode simple pour lire et extraire le contenu textuel de fichiers DOCX existants, vous permettant d'accéder par programmation aux paragraphes, tableaux et autres éléments de texte.

Ce didacticiel couvre en détail la méthode ExtractText() et montre comment accéder au texte à partir de divers éléments du document. Que vous construisiez un système d'indexation de documents, une solution de gestion de contenu ou un pipeline d'extraction de données, il est essentiel de comprendre comment extraire efficacement du texte à partir de documents Word.

Commencer avec IronWord

Commencez à utiliser IronWord dans votre projet aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer


Comment extraire tout le texte d'un document DOCX?

La méthode ExtractText() récupère le contenu textuel d'un document Word entier. Dans cet exemple, nous créons un nouveau document, y ajoutons du texte, extrayons ce texte à l'aide ExtractText() et l'affichons dans la console. Ceci illustre le flux de travail principal d'extraction de texte.

Le texte extrait conserve l'ordre de lecture logique du document. La méthode traite les en-têtes, les paragraphes, les listes et d'autres éléments de texte en séquence, ce qui la rend idéale pour les applications d'analyse de contenu et d'indexation de recherche.

:path=/static-assets/word/content-code-examples/how-to/extract-text-simple.cs
using IronWord;

// Instantiate a new DOCX file
WordDocument doc = new WordDocument();

// Add text
doc.AddText("Hello, World!");

// Print extracted text from the document to the console
Console.WriteLine(doc.ExtractText());
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

À quoi ressemble le texte extrait?

Document Microsoft Word affichant le texte 'Hello, World!' avec le ruban de mise en forme visible

Quel résultat dois-je attendre de la console ?

Exemple de code montrant Console.WriteLine imprimant le texte extrait, avec la console de débogage affichant la sortie 'Hello, World!'

Comment puis-je extraire du texte de certains paragraphes ? Pour plus de contrôle, vous pouvez extraire le texte de paragraphes spécifiques au lieu du document entier. En accédant à la collection `Paragraphs` , vous pouvez cibler et traiter n'importe quel paragraphe dont vous avez besoin. Cette approche granulaire est utile lorsqu'il s'agit de documents dont le contenu est structuré ou lorsque vous devez traiter des sections spécifiques de manière indépendante. Dans cet exemple, nous extrayons le texte du premier et du dernier paragraphe, nous les combinons et nous enregistrons le résultat dans un fichier `.txt`. Cette technique est couramment utilisée dans les outils de résumé de documents, lorsque vous souhaitez extraire l'introduction et la conclusion d'un document. De la même manière que vous pourriez [utiliser des clés de licence](https://ironsoftware.com/csharp/ppt/get-started/license-keys/) pour débloquer des fonctionnalités, la collection `Paragraphes` vous permet d'accéder à des éléments spécifiques du document. ```csharp :path=/static-assets/word/content-code-examples/how-to/extract-text-paragraphs.cs ``` La capacité d'extraire des paragraphes spécifiques devient puissante lorsqu'elle est combinée à des exigences d'analyse de documents. Par exemple, vous pouvez extraire des paragraphes clés en fonction de leur formatage, de leur position ou de leur contenu. Cette approche d'extraction sélective permet de réduire le temps de traitement et de se concentrer sur le contenu le plus pertinent.

Quel contenu est extrait du premier paragraphe ?
Document Word montrant un paragraphe formaté en rouge au-dessus d'un paragraphe de texte noir pour une démonstration d'extraction

Quel est le contenu extrait du dernier paragraphe ?
Document Microsoft Word montrant des paragraphes formatés avec du texte Lorem ipsum en couleurs violette et bleue
### Comment le texte combiné apparaît-il dans le fichier de sortie?
Editeur de texte montrant les points d'extraction de paragraphe marqués par des flèches rouges et bleues indiquant les limites du paragraphe
Les captures d'écran ci-dessus montrent l'extraction du premier paragraphe, l'extraction du dernier paragraphe et le résultat combiné enregistré dans un fichier texte. Vous remarquerez que le processus d'extraction préserve le contenu du texte tout en supprimant les informations de mise en forme, ce qui le rend adapté au traitement de texte brut. ## Comment extraire des données de tableaux dans DOCX? Les tableaux contiennent souvent des données structurées qui doivent être extraites pour être traitées ou analysées. IronWord vous permet d'accéder aux données d'un tableau en naviguant à travers les lignes et les cellules. Dans cet exemple, nous chargeons un document contenant un tableau de statistiques d'API et extrayons une valeur de cellule spécifique de la 4e colonne de la 2e ligne. L'extraction de tableaux est essentielle pour les projets de migration de données, la génération de rapports et les flux de travail de collecte automatisée de données. Lorsque l'on travaille avec des données tabulaires, il est essentiel de comprendre le système d'indexation basé sur le zéro - le premier tableau est `Tables[0]`, la première ligne est `Rows[0]`, et ainsi de suite. Cette approche systématique, similaire aux structures de [licence](https://ironsoftware.com/csharp/ppt/licensing/), fournit des modèles d'accès prévisibles. ```csharp :path=/static-assets/word/content-code-examples/how-to/extract-text-table.cs ``` ### À quoi ressemble le tableau source?
Tableau de statistiques d'utilisation de l'API dans Word montrant 6 points d'extrémité avec des demandes, des latences, des taux de réussite et des mesures de la bande passante

Quelle valeur est extraite de la cellule du tableau ?
Console output showing extracted table value 'Target success rate : 99.8%' dans la console de débogage de Visual Studio
## Scénarios d'extraction de texte avancés Lorsque vous travaillez sur des documents complexes, vous pouvez être amené à combiner plusieurs techniques d'extraction. Voici un exemple qui montre comment extraire du texte à partir de plusieurs éléments et les traiter différemment : ```csharp using IronWord; using System.Text; using System.Linq; // Load a complex document WordDocument complexDoc = new WordDocument("report.docx"); // Create a StringBuilder for efficient string concatenation StringBuilder extractedContent = new StringBuilder(); // Extract and process headers (assuming they're in the first few paragraphs) var headers = complexDoc.Paragraphs .Take(3) .Select(p => p.ExtractText()) .Where(text => !string.IsNullOrWhiteSpace(text)); foreach (var header in headers) { extractedContent.AppendLine($"HEADER: {header}"); } // Extract table summaries foreach (var table in complexDoc.Tables) { // Get first cell as table header/identifier string tableIdentifier = table.Rows[0].Cells[0].ExtractText(); extractedContent.AppendLine($"\nTABLE: {tableIdentifier}"); // Extract key metrics (last row often contains totals) if (table.Rows.Count > 1) { var lastRow = table.Rows.Last(); var totals = lastRow.Cells.Select(cell => cell.ExtractText()); extractedContent.AppendLine($"Totals: {string.Join(", ", totals)}"); } } // Save the structured extraction System.IO.File.WriteAllText("structured-extract.txt", extractedContent.ToString()); ``` Cet exemple avancé montre comment créer des extractions structurées en combinant différents éléments du document. Cette approche est utile pour générer des résumés de documents, créer des index ou préparer des données pour un traitement ultérieur. Tout comme les mises à jour améliorent les capacités des logiciels, la combinaison des méthodes d'extraction améliore vos capacités de traitement des documents. ## Bonnes pratiques pour l'extraction de texte Lorsque vous mettez en œuvre l'extraction de texte dans des applications de production, tenez compte des meilleures pratiques suivantes : 1. **Gestion des erreurs** : Enveloppez toujours le code d'extraction dans des blocs try-catch pour gérer les documents qui pourraient être corrompus ou avoir des structures inattendues. 2. **Optimisation des performances** : Pour les documents volumineux ou le traitement par lots, envisagez d'extraire uniquement les parties nécessaires plutôt que l'intégralité du contenu du document. 3. **Codage des caractères** : il convient de tenir compte du codage des caractères lors de l'enregistrement du texte extrait, en particulier pour les documents contenant des caractères spéciaux ou plusieurs langues. 4. **Gestion de la mémoire** : Lors du traitement de plusieurs documents, éliminez correctement les objets `WordDocument` afin d'éviter les fuites de mémoire. N'oubliez pas que l'extraction de texte préserve l'ordre logique de lecture mais supprime le formatage. Si vous devez conserver des informations de formatage, envisagez d'utiliser des fonctionnalités `IronWord` supplémentaires ou de stocker les métadonnées séparément. Pour les déploiements en production, consultez le [changelog](https://ironsoftware.com/csharp/ppt/product-updates/changelog/) pour vous tenir au courant des dernières fonctionnalités et améliorations. ## Résumé La méthode `ExtractText()` d'IronWord constitue un moyen puissant et flexible d'extraire du texte à partir de fichiers DOCX. Que vous ayez besoin d'extraire des documents entiers, des paragraphes spécifiques ou des données de tableau, l'API offre des méthodes simples pour atteindre vos objectifs. En combinant ces techniques avec une gestion des erreurs et des stratégies d'optimisation appropriées, vous pouvez créer des applications de traitement de documents robustes qui gèrent efficacement divers scénarios d'extraction de texte. Pour des scénarios plus avancés et pour explorer des fonctionnalités supplémentaires, consultez les [extensions](https://ironsoftware.com/csharp/ppt/licensing/extensions/) et d'autres ressources documentaires pour améliorer vos capacités de traitement des documents.

Questions Fréquemment Posées

Comment extraire tout le texte d'un document Word en C# ?

Utilisez la méthode ExtractText() d'IronWord sur un objet WordDocument. Chargez simplement votre fichier DOCX avec WordDocument doc = new WordDocument("document.docx") ; puis appelez string text = doc.ExtractText() ; pour récupérer tout le contenu textuel du document.

Puis-je extraire du texte à partir de paragraphes spécifiques plutôt que du document entier ?

Oui, IronWord vous permet d'extraire du texte à partir de paragraphes spécifiques en accédant à la collection Paragraphes. Utilisez doc.Paragraphs[index].ExtractText() pour cibler des paragraphes individuels pour une extraction de texte plus granulaire.

Comment extraire le texte des tableaux dans les fichiers DOCX ?

IronWord permet l'extraction du texte des tableaux grâce à la collection Tables. Accédez à des cellules spécifiques en utilisant doc.Tables[0].Rows[0].Cells[0].ExtractText() pour extraire le contenu textuel de n'importe quelle cellule de tableau dans votre document.

Quel est l'ordre du texte extrait lors de l'utilisation de ExtractText() ?

La méthode ExtractText() d'IronWord maintient l'ordre de lecture logique du document, en traitant les en-têtes, les paragraphes, les listes et autres éléments de texte dans l'ordre, ce qui la rend idéale pour l'analyse de contenu et l'indexation de recherche.

Quelles sont les étapes de base pour commencer à extraire du texte à partir de fichiers DOCX ?

Installez d'abord IronWord via NuGet (Install-Package IronWord), puis créez ou chargez un document WordDocument, et enfin utilisez la méthode ExtractText() pour récupérer le texte de l'ensemble du document, de paragraphes spécifiques ou de cellules de tableau, selon les besoins.

L'extraction de texte est-elle adaptée à la construction de systèmes d'indexation de documents ?

Oui, les capacités d'extraction de texte d'IronWord sont parfaites pour construire des systèmes d'indexation de documents, des solutions de gestion de contenu et des pipelines d'extraction de données, offrant un accès programmatique efficace au contenu des documents Word.

Ahmad Sohail
Développeur Full Stack

Ahmad est un développeur full-stack avec une solide fondation en C#, Python et technologies web. Il a un profond intérêt pour la construction de solutions logicielles évolutives et aime explorer comment le design et la fonctionnalité se rencontrent dans des applications du monde réel.

<...
Lire la suite
Prêt à commencer?
Nuget Téléchargements 28,054 | Version : 2025.12 vient de sortir