Les images sont couramment utilisées pour représenter des informations importantes dans les documents Word. L’inclusion d’images à côté du texte rend le contenu plus attrayant. Dans certains cas, vous devrez peut-être extraire les images intégrées dans les documents Word par programmation. Pour y parvenir, cet article explique comment extraire des images de documents Word à l’aide de Java.
API Java pour extraire des images de documents Word
Aspose.Words for Java est une API puissante et riche en fonctionnalités pour créer, manipuler et convertir des documents MS Word. Par conséquent, nous utiliserons cette API pour extraire des images de documents MS Word DOCX/DOC. Vous pouvez télécharger le JAR de l’API ou l’installer dans votre application Java à l’aide des configurations Maven suivantes.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.11</version>
<type>pom</type>
</dependency>
Comment extraire des images d’un document Word
Les images d’un document Word sont représentées à l’aide d’objets de forme. Par conséquent, pour récupérer des images, vous devrez traiter chaque forme du document. Voici les étapes pour extraire des images d’un document Word DOCX en Java.
- Tout d’abord, chargez le fichier Word à l’aide de la classe Document.
- Ensuite, placez toutes les formes dans une NodeCollection objet utilisant la méthode Document.getChildNodes(NodeType.SHAPE, Boolean).
- Parcourez les formes récupérées.
- À chaque itération, vérifiez si la forme a une image à l’aide de la méthode Shape.hasImage().
- Enfin, extrayez l’image et enregistrez-la en utilisant la méthode Shape.getImageData().save(string).
L’exemple de code suivant montre comment extraire des images d’un document DOCX en Java.
// Charger le document Word
Document doc = new Document("Document.docx");
// Obtenez toutes les formes
NodeCollection<Shape> shapes = (NodeCollection<Shape>) doc.getChildNodes(NodeType.SHAPE, true);
int imageIndex = 0;
// Boucle à travers la collection de formes
for (Shape shape : shapes) {
// Vérifiez si la forme a une image
if (shape.hasImage()) {
// Extraire et enregistrer l'image
String imageFileName = String.format(
"Image.ExportImages.{0}_out_{1}", imageIndex, FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
shape.getImageData().save(dataDir + imageFileName);
imageIndex++;
}
}
Obtenez une licence API gratuite
Obtenez une licence temporaire gratuite pour utiliser Aspose.Words for Java sans limitation d’évaluation.
Conclusion
Dans cet article, vous avez appris à extraire des images d’un document Word à l’aide de Java. De plus, l’exemple de code a montré comment extraire les images d’un fichier DOCX et les enregistrer à l’emplacement souhaité. En outre, Aspose.Words for Java fournit un large éventail de fonctionnalités pour la manipulation de documents. Pour explorer ces fonctionnalités, vous pouvez consulter la documentation. Vous pouvez également poser vos questions via notre forum.
Voir également
- Créer des documents Word à partir de zéro en Java
- Générer des documents Word à partir de modèles en Java
- Convertir des fichiers Word en PDF en Java
Info : Vous pourriez être intéressé par une autre API Java (Aspose.Slides for Java) qui permet de convertir des présentations (en PDF, documents word, etc.) et d’importer des images ou d’autres documents dans des présentations.