Étant un développeur d’applications Java qui construit des applications de traitement de documents, vous pourriez être intéressé à fournir la capacité de lire des documents Word dans votre application Java et à extraire le texte de ces documents par programme. Vous pouvez tirer parti de la puissance de l’API DOCX4J pour lire Docx Files et extraire le texte de ces fichiers de votre application Java. Dans cet article, nous allons montrer comment utiliser l’API DOCX4J pour atteindre notre objectif de travailler avec des fichiers DOCX pour l’extraction du texte.

Comment lire et extraire du texte de documents Word en Java?

Avant de commencer à écrire du code pour créer un fichier DOCX à l’aide de l’API DOCX4J, vous devez avoir une API DOCX4J configurée dans votre environnement de développement. Si vous n’avez pas déjà installé et configuré l’API DOCX4J, vous pouvez consulter notre article sur Comment installer l’API Docx4j.

Extraire le texte du document Word dans Java

À ce stade, nous supposons que vous avez mis en place votre environnement de développement et que vous êtes prêt à commencer à utiliser l’API DOCX4J pour extraire du texte des documents Word. L’exemple de code suivant peut être utilisé à cet effet. Vous pouvez le copier directement sur la méthode principale de votre application Java basée sur la console et l’exécuter.

// Load document
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File("FileFormat.docx"));
// Load main document part
MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
// Extract nodes
String textNodesXPath = "//w:t";
List<Object> textNodes= mainDocumentPart.getJAXBNodesViaXPath(textNodesXPath, true);
// Print text
for (Object obj : textNodes) {
  Text text = (Text) ((JAXBElement) obj).getValue();
  String textValue = text.getValue();
  System.out.println(textValue);
}

Jetons un coup d’œil sur le fonctionnement de ce code. Le document Word est chargé à l’aide du wordProcesingMlPackage et est traité en outre à l’aide de la classe MainDocumentPart de l’API DOCX4J. Une fois le document chargé, la liste des nœuds de texte est obtenue à partir de l’objet MainDocumentPart contenant le document réel. Chaque nœud de texte est ensuite lu comme jaxBelement objet en le traversant.

Conclusion

Travailler avec des documents Word à partir de votre application Java est facile avec l’API DOCX4J. L’API vous aide à ajouter des fonctionnalités de traitement des documents à vos applications Java sans entrer dans les détails internes du format de fichier sous-jacent. Continuez à suivre ce blog pour plus d’exemples de travail avec l’API DOCX4J.