Extraire du texte de documents Word à l'aide de Java

Dans certains cas, vous devrez peut-être extraire du texte de vos documents Word à diverses fins. En tant que développeur Java, vous pouvez facilement extraire du texte de fichiers DOC ou DOCX par programmation. Dans cet article, vous apprendrez comment extraire du texte de documents Word à l’aide de Java.

Les sujets suivants sont abordés/couverts dans cet article:

API Java pour extraire du texte de documents Word

Pour extraire le texte des fichiers DOC ou DOCX, nous utiliserons l’API GroupDocs.Parser for Java. Il permet d’extraire du texte, des métadonnées et des images à partir des formats de fichiers populaires de Word, PDF, Excel et PowerPoint. Il prend également en charge l’extraction de texte brut, formaté et structuré à partir des fichiers de formats pris en charge.

Vous pouvez télécharger le JAR de l’API ou simplement ajouter la configuration pom.xml suivante dans votre application Java basée sur Maven pour essayer les exemples de code mentionnés ci-dessous.

<repository>
  <id>GroupDocsJavaAPI</id>
  <name>API Java GroupDocs</name>
  <url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
  <groupId>com.groupdocs</groupId>
  <artifactId>groupdocs-parser</artifactId>
  <version>21.2</version>
</dependency>

Extraire du texte de documents Word à l’aide de Java

Vous pouvez analyser n’importe quel document Word et extraire du texte en suivant les étapes simples mentionnées ci-dessous:

  • Tout d’abord, chargez le fichier DOCX à l’aide de la classe Parser.
  • Ensuite, appelez la Parser.getText() method pour extraire le texte du document chargé.
  • Obtenez les résultats de la Parser.getText() method dans l’objet TextReader class.
  • Enfin, appelez la méthode TextReader.readToEnd() _ _ pour lire tous les caractères de la position actuelle à la fin du lecteur de texte et les renvoyer sous la forme d’une chaîne.

L’exemple de code suivant montre comment extraire du texte d’un fichier DOCX à l’aide de Java.

// Créer une instance de la classe Parser
Parser parser = new Parser("C:\\Files\\sample.docx");

// Extraire un texte brut dans le lecteur
try (TextReader reader = parser.getText()) {
    // Print a text from the document
    // If text extraction isn't supported, a reader is null
    System.out.println(reader == null ? "Text extraction isn't supported": reader.readToEnd());
}
Extraire du texte de documents Word à l'aide de Java

Extraire du texte de documents Word à l’aide de Java

Extraire le texte de pages spécifiques d’un document Word à l’aide de Java

Vous pouvez analyser un document Word et extraire le texte d’une page spécifique en suivant les étapes simples mentionnées ci-dessous:

L’exemple de code suivant montre comment extraire le texte des pages une par une à l’aide de Java.

// Créer une instance de la classe Parser
Parser parser = new Parser("C:\\Files\\sample.docx");

// Vérifiez si le document prend en charge l'extraction de texte
if (!parser.getFeatures().isText()) {
    System.out.println("The document doesn't support text extraction.");
    return;
}

// Obtenir les informations sur le document
IDocumentInfo documentInfo = parser.getDocumentInfo();

// Vérifiez si le document contient des pages
if (documentInfo.getPageCount() == 0) {
    System.out.println("The document has zero pages.");
    return;
}

// Itérer sur les pages
for (int p = 0; p < documentInfo.getPageCount(); p++) {
    // Print a page number
    System.out.println(String.format("Page number: %d/%d", p + 1, documentInfo.getPageCount()));
    // Extract a text into the reader
    try (TextReader reader = parser.getText(p)) {
        // Print a text from the document
        // We ignore null-checking as we have checked text extraction feature support earlier
        System.out.println(reader.readToEnd());
    }
}
Extraire le texte de pages spécifiques d'un document à l'aide de Java

Extraire le texte de pages spécifiques d’un document à l’aide de Java

Obtenir la surbrillance à partir de documents Word à l’aide de Java

Une surbrillance est une partie du texte qui est généralement utilisée pour expliquer le contexte du texte trouvé dans la fonctionnalité de recherche. Vous pouvez extraire un surlignage d’un document en suivant les étapes simples mentionnées ci-dessous:

  • Tout d’abord, chargez le fichier DOCX à l’aide de la classe Parser.
  • Créez une instance de l’objet de classe HighlightOptions et transmettez la longueur maximale comme paramètre d’entrée à son constructeur pour extraire une surbrillance de longueur fixe.
  • Ensuite, appelez la méthode Parser.getHighlight() avec la position de départ et l’objet de classe HighlightOptions pour extraire une surbrillance du document en tant qu’objet de la classe HighlightItem.
  • Enfin, appelez les méthodes Highlight.getPosition() et HighlightItem.getText() pour obtenir la position et le texte de la surbrillance.

L’exemple de code suivant montre comment extraire une surbrillance d’un document à l’aide de Java.

// Créer une instance de la classe Parser
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // Extract a highlight:
    HighlightItem hl = parser.getHighlight(0, true, new HighlightOptions(8));
    // Check if highlight extraction is supported
    if (hl == null) {
        System.out.println("Highlight extraction isn't supported");
        return;
    }
    // Print an extracted highlight
    System.out.println(String.format("At %d: %s", hl.getPosition(), hl.getText()));
}
At 0: Overview

Extraire le texte formaté de DOCX à l’aide de Java

Vous pouvez analyser des documents Word et extraire du texte sans perdre la mise en forme du style en suivant les étapes simples mentionnées ci-dessous:

L’exemple de code suivant montre comment extraire du texte formaté d’un fichier DOCX à l’aide de Java.

// Créer une instance de la classe Parser
try (Parser parser = new Parser("C:\\Files\\sample.docx")) {
    // Extract a formatted text into the reader
    try (TextReader reader = parser.getFormattedText(new FormattedTextOptions(FormattedTextMode.Html))) {
        // Print a formatted text from the document
        // If formatted text extraction isn't supported, a reader is null
        System.out.println(reader == null ? "Formatted text extraction isn't suppported": reader.readToEnd());
    }
}
Extraire le texte formaté de DOCX à l'aide de Java

Extraire le texte formaté de DOCX à l’aide de Java

Extraire le texte par table des matières à l’aide de Java

Vous pouvez extraire du texte du document par la table des matières en suivant les étapes simples mentionnées ci-dessous:

  • Tout d’abord, chargez le fichier DOCX à l’aide de la classe Parser.
  • Ensuite, appelez la méthode Parser.getToc() pour extraire une table des matières sous la forme d’une collection d’objets de classe TocItem. Le TocItem représente l’élément qui est utilisé dans la fonctionnalité d’extraction de la table des matières.
  • Maintenant, vérifiez si la collection n’est pas null.
  • Ensuite, parcourez la collection de TocItem et appelez la méthode TocItem.extractText() pour extraire le texte du document auquel l’objet TocItem fait référence.
  • Obtenez les résultats dans l’objet de classe TextReader.
  • Enfin, appelez la méthode TextReader.readToEnd() pour lire tout le texte.

L’exemple de code suivant montre comment extraire du texte par table des matières à partir de documents Word à l’aide de Java.

// Créer une instance de la classe Parser
try (Parser parser = new Parser("C:\\Files\\sampleTOC.docx")) {
    // Get table of contents
    Iterable<TocItem> tocItems = parser.getToc();
    // Check if toc extraction is supported
    if (tocItems == null) {
        System.out.println("Table of contents extraction isn't supported");
    }
    else
    {
        // Iterate over items
        for (TocItem tocItem: tocItems) {
            // Print the text of the chapter
            try (TextReader reader = tocItem.extractText()) {
                System.out.println("----");
                System.out.println(reader.readToEnd());
            }
        }
    }
}
Extraire le texte par table des matières à l'aide de Java

Extraire le texte par table des matières à l’aide de Java

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris comment extraire du texte de documents Word à l’aide de Java. De plus, vous avez vu comment extraire du texte formaté d’un fichier DOCX par programmation. Cet article a également expliqué ** comment extraire du texte par la table des matières ** et extraire un surlignage d’un document. En outre, vous pouvez en savoir plus sur l’API GroupDocs.Parser pour Java en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également