Si vous avez un document et que vous souhaitez utiliser les images à l’intérieur de ce document dans d’autres documents, voici l’une des solutions. Dans cet article, nous allons apprendre à extraire par programme des images de documents PDF, Excel, PowerPoint et Word à l’aide de Java.
- API Java d’extraction d’images
- Extraction d’images à partir de documents PDF en Java
- Extraire des images de documents Word, Excel, PowerPoint en Java
- Extraire l’image d’une page spécifique en Java

API Java d’extraction d’images

Pour l’extraction des images, nous utiliserons GroupDocs.Parser for Java. Cette API Java prend en charge l’analyse de documents et l’extraction d’images, de texte et de métadonnées à partir de documents de traitement de texte, de feuilles de calcul, de présentations, d’archives , et envoyer par e-mail des documents. Voici les formats de document pris en charge par l’API Java pour l’extraction d’images.
Avant de commencer avec les exemples ci-dessous, je vous recommande de configurer l’environnement en téléchargeant la dernière version de l’API Java d’analyse de documents à partir de la section des téléchargements ou vous pouvez définir les configurations suivantes dans votre *maven-based * applicatifs java :
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>20.8</version>
</dependency>
Extraire des images de documents PDF en Java

Suivez ces étapes simples pour obtenir toutes les images du document PDF.
- Instanciez l’objet de classe Parser.
- Appelez la méthode getImages de la classe Parser pour obtenir toutes les images.
- Itérer sur les images en utilisant PageImageArea.
- Enregistrez les images à l’aide de la méthode d’enregistrement de PageImageArea.
C’est fait. Voir le code complet ci-dessous. Les images extraites peuvent être enregistrées aux formats BMP, GIF, JPEG, PNG et WebP.
// Extraire des images de documents Word, Excel, PowerPoint et PDF par programmation à l'aide de GroupDocs.Parser pour Java
try (Parser parser = new Parser("path/document.pdf")) {
// Extract images
Iterable<PageImageArea> images = parser.getImages();
// Create the options to save images in PNG format
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// Iterate over images and Save
for (PageImageArea image : images) {
// Print the page index, rectangle and image file type:
System.out.println(String.format("Page: %d, R: %s, Type: %s", image.getPage().getIndex(),
image.getRectangle(), image.getFileType()));
image.save(String.format("filesPath/image_%d.png", imageNumber), options);
imageNumber++;
}
}
Ce sont les images extraites du document PDF en utilisant le code ci-dessus.

Extraire des images de fichiers Word, Excel, PowerPoint en Java
De même, toutes les images peuvent être extraites des fichiers de traitement de texte, des tableurs, des présentations, avec la base de code inchangée. Qu’est-ce que tu dois changer ? Juste le chemin du document source et la bonne extension de fichier.
Parser parser = new Parser("path/document.docx") // Word Document
// Parser parser = new Parser("path/document.xlsx") // Excel Spreadsheet
// Parser parser = new Parser("path/document.pptx") // PowerPoint Presentation
// Parser parser = new Parser("path/document.pdf") // PDF Document
Extraction d’image à partir d’une page de document spécifique en Java
Si vous ne souhaitez pas extraire toutes les images de l’ensemble du document mais d’une page spécifique. Le code ci-dessous montre comment nous pouvons extraire des images d’une page particulière du document en Java.
// Extraire des images d'une page spécifique de Word, Excel, PowerPoint, PDF en Java à l'aide de GroupDocs.Parser
try (Parser parser = new Parser("path/document.pdf"")) {
// Get the document info
IDocumentInfo documentInfo = parser.getDocumentInfo();
// Create the options to save images in PNG format
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// Iterate over pages
for (int pageIndex = 0; pageIndex < documentInfo.getPageCount(); pageIndex++) {
// Print Page Numbers
System.out.println(String.format("Page %d/%d", pageIndex + 1, documentInfo.getPageCount()));
// Iterate over images - Ignoring NULL-Checking in the examples
for (PageImageArea image : parser.getImages(pageIndex)) {
// Print Image Information and Save file
System.out.println(String.format("R: %s, Text: %s", image.getRectangle(), image.getFileType()));
image.save(String.format("filesPath/image_%d.jpeg", imageNumber), options);
imageNumber++;
}
}
}
Conclusion
Aujourd’hui, nous avons appris comment extraire des images de l’ensemble du document et de la page spécifique des documents de traitement de texte, des feuilles de calcul, des présentations et des PDF en Java. Il n’y a aucune différence dans le code si nous devons extraire des images des fichiers de différents formats de fichiers. Nous devons juste passer le bon chemin et le nom. C’est ça.