PDF, étant l’un des formats de fichiers les plus populaires, est utilisé par presque toutes les entreprises et industries. Les documents PDF peuvent contenir divers contenus, notamment du texte formaté, des images, des annotations, etc. Il est souvent nécessaire d’extraire le contenu des fichiers PDF. Ici, dans cet article, nous verrons comment extraire par programme des images de documents PDF en Java.

API Java pour extraire des images de fichiers PDF

GroupDocs fournit GroupDocs.Parser aux développeurs Java pour l’extraction d’images à partir de fichiers PDF. Outre le fichier PDF, la même API prend en charge l’analyse ainsi que l’extraction d’images à partir de divers autres formats de documents tels que les documents de traitement de texte, les feuilles de calcul, les livres électroniques, les présentations, les e-mails, les archives ZIP et de nombreux autres formats de documents .

Télécharger ou configurer

Vous pouvez télécharger le fichier JAR à partir de la section des téléchargements, ou simplement obtenir les configurations du référentiel et des dépendances pour le pom.xml de vos applications Java basées sur maven.

<repository>
    <id>groupdocs-artifacts-repository</id>
    <name>GroupDocs Artifacts Repository</name>
    <url>https://releases.groupdocs.com/java/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-parser</artifactId>
    <version>22.11</version>
</dependency>

Étapes pour extraire des images d’un document PDF en Java

Voici les points étape par étape qui montrent comment obtenir des images à partir du fichier PDF en utilisant quelques lignes de code Java.

  1. Créez un nouveau projet.
  2. Téléchargez l’API comme mentionné ci-dessus ou mettez à jour vers la dernière version de l’API.
  3. Importez les classes suivantes :
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
  1. Chargez le document PDF à l’aide de la classe Parser.
// Charger le fichier PDF
try (Parser parser = new Parser("path/document.pdf")) {
    // Le code d'extraction d'image va ici.
}
  1. Extrayez toutes les images du document à l’aide de la méthode getImages.
// Extraire des images du fichier chargé
Iterable<PageImageArea> images = parser.getImages();
  1. Accédez à chaque image de la collection et enregistrez-la à l’aide de la méthode d’enregistrement.
// Enregistrez le fichier avec son extension
for (PageImageArea image : images)  {
    image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
}

Les images peuvent être enregistrées dans différents formats d’image tels que PNG, JPG, BMP, WebP ou GIF.

Code complet Java - Extraction d’images à partir de PDF

Voici le code source complet qui vous permet d’obtenir toutes les images du fichier PDF fourni.

// Extraire des images d'un fichier PDF en Java
try (Parser parser = new Parser("path/document.pdf")) 
{
    // Obtenir des images
    Iterable<PageImageArea> images = parser.getImages();
    
    // Vérifiez si l'extraction d'images est prise en charge
    if (images == null) 
    {
        System.out.println("Images extraction isn't supported");
        return;
    }
    
    int imageCounter = 0;
    // Itérer les images extraites
    for (PageImageArea image : images) 
    {
        image.save(String.format("path/image_%d" + image.getFileType().getExtension(), imageCounter++));
    }
}

Résultats

Exemple de document PDF

Document PDF ayant des images à extraire.

Images extraites

images extraites du PDF.

Si vous en avez besoin, il est également expliqué dans un article séparé comment vous pouvez extraire des images de n’importe quelle page spécifique d’un document PDF en Java.

Lire la suite

Vous pouvez en savoir plus sur l’API Java d’extraction de données à l’aide de sa documentation. Vous pouvez nous faire part de vos questions via notre forum.

Voir également