L’extraction d’images à partir de fichiers PDF est une exigence fréquente lors de la création de pipelines de traitement de documents, notamment lorsque vous devez réutiliser les graphiques pour des vignettes, des rapports ou des analyses supplémentaires. Le GroupDocs.Parser Cloud SDK for Java offre une API simple qui vous permet de récupérer chaque image intégrée d’un PDF en quelques lignes de code seulement. Ce guide vous accompagne dans la configuration du SDK, l’exécution d’un exemple complet de code, l’utilisation de cURL pour la même tâche, et l’application des meilleures pratiques afin d’assurer une extraction fiable des images PDF.
Extraire des images de documents PDF en Java en 5 étapes
- Configurer les informations d’identification de l’API : Créez un objet
Configurationet définissez votre ID client et votre secret.
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
- Initialiser l’API Parser : Construisez un
ApiClientavec la configuration et instanciezParserApi.
ApiClient apiClient = new ApiClient(config);
ParserApi parserApi = new ParserApi(apiClient);
Construisez la requête d’extraction d’images : Spécifiez le chemin du fichier PDF en utilisant
FileInfoet créez unExtractImagesRequest.String inputFilePath = "input.pdf"; ExtractImagesRequest request = new ExtractImagesRequest() .setFileInfo(new FileInfo().setFilePath(inputFilePath));Exécuter l’extraction et récupérer les images : Appelez
extractImageset obtenez la liste des objetsImage.
ImagesResult imagesResult = parserApi.extractImages(request);
List<Image> images = imagesResult.getImages();
- Enregistrez chaque image dans le stockage local : Parcourez la collection et écrivez les données binaires dans des fichiers.
for (int i = 0; i < images.size(); i++) {
Image img = images.get(i);
String outputFileName = "extracted_image_" + (i + 1) + "_" + img.getFileName();
try (FileOutputStream fos = new FileOutputStream(outputFileName)) {
fos.write(img.getData());
}
System.out.println("Saved image: " + outputFileName);
}
Pour plus de détails sur chaque classe, consultez la référence API officielle.
Exemple complet de code : extraire des images de documents PDF en Java avec GroupDocs.Parser
L’exemple suivant montre le flux de travail complet, de la configuration des informations d’identification à l’enregistrement de l’image.
import com.groupdocs.parser.cloud.ApiClient;
import com.groupdocs.parser.cloud.Configuration;
import com.groupdocs.parser.cloud.api.ParserApi;
import com.groupdocs.parser.cloud.model.FileInfo;
import com.groupdocs.parser.cloud.model.Image;
import com.groupdocs.parser.cloud.model.ImagesResult;
import com.groupdocs.parser.cloud.model.requests.ExtractImagesRequest;
import java.io.FileOutputStream;
import java.util.List;
public class ExtractImagesFromPdf {
public static void main(String[] args) {
// Configure API credentials
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
// config.setBaseUrl("https://api.groupdocs.cloud"); // optional, if needed
// Initialize API client and Parser API
ApiClient apiClient = new ApiClient(config);
ParserApi parserApi = new ParserApi(apiClient);
// Path to the PDF file stored in GroupDocs Cloud storage
String inputFilePath = "input.pdf";
// Build request for image extraction
ExtractImagesRequest request = new ExtractImagesRequest()
.setFileInfo(new FileInfo().setFilePath(inputFilePath));
try {
// Perform extraction
ImagesResult imagesResult = parserApi.extractImages(request);
List<Image> images = imagesResult.getImages();
// Save each extracted image to local disk
for (int i = 0; i < images.size(); i++) {
Image img = images.get(i);
String outputFileName = "extracted_image_" + (i + 1) + "_" + img.getFileName();
try (FileOutputStream fos = new FileOutputStream(outputFileName)) {
fos.write(img.getData());
}
System.out.println("Saved image: " + outputFileName);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Note : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.
Extraction d’images PDF via cURL et l’API REST
Vous pouvez obtenir le même résultat sans écrire de code Java en appelant directement les points de terminaison REST de GroupDocs.Parser Cloud.
- Obtenir un jeton d’accès
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Téléverser le fichier PDF
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@/path/to/input.pdf"
- Demande d’extraction d’images
curl -X POST "https://api.groupdocs.cloud/v2.0/parser/extractImages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"fileInfo": {"filePath": "input.pdf"}}'
- Télécharger les images extraites (la réponse contient des données base64 ; vous pouvez les décoder localement)
Pour une liste complète des paramètres, consultez la documentation officielle de l’API.
Installation et configuration du GroupDocs.Parser Cloud SDK pour Java
Ajoutez la dépendance Maven à votre pom.xml (ou le fragment Gradle équivalent).
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser-cloud</artifactId>
<version>26.2</version>
</dependency>
Le SDK est fourni sous forme de bibliothèque cloud ; aucun binaire local n’est requis. Téléchargez le dernier package depuis la page de publication. Assurez‑vous de disposer de Java 8 ou d’une version supérieure ainsi que d’un compte GroupDocs Cloud valide avec l’ID client et le secret.
GroupDocs.Parser Cloud SDK for Java Fonctionnalités permettant la récupération d’images
- Extraction complète d’images PDF - Récupère chaque image raster et vectorielle intégrée au document.
- Métadonnées pour chaque image - Retourne le nom de fichier, la taille, le format et le numéro de page.
- Prise en charge de tous les formats d’image courants - PNG, JPG, BMP, GIF, TIFF, et plus.
- Intégration du stockage cloud - Fonctionne directement avec les fichiers stockés dans GroupDocs Cloud sans les télécharger au préalable.
- Traitement évolutif basé sur REST‑based processing - Gère les PDF volumineux et les charges de travail à haut volume via l’API cloud.
Affinement des paramètres d’extraction d’images
Bien que la requête de base fonctionne immédiatement, vous pouvez ajuster des options telles que :
- Protection par mot de passe - Définissez la propriété
passwordsurFileInfopour les PDF chiffrés. - Plage de pages - Limitez l’extraction à des pages spécifiques en ajoutant un tableau
pagesau JSON de la requête. - Conversion de format d’image - Demandez la conversion vers un autre format en spécifiant le type de sortie souhaité dans la requête (voir la référence API pour les champs exacts).
Exemple de définition d’un mot de passe (extrait du code principal) :
FileInfo fileInfo = new FileInfo()
.setFilePath("protected.pdf")
.setPassword("mySecret");
Conseils pratiques pour une extraction efficace d’images PDF
- Valider l’existence du fichier avant d’envoyer la requête afin d’éviter les appels API inutiles.
- Traiter les images en flux lorsqu’on travaille avec de gros fichiers afin de réduire la consommation de mémoire.
- Utiliser la pagination si vous avez besoin uniquement des images de certaines pages ; cela accélère la réponse.
- Gérer les limites de débit de l’API en implémentant un back‑off exponentiel sur les réponses HTTP 429.
- Enregistrer chaque nom de fichier sauvegardé pour simplifier le dépannage et les traces d’audit.
Conclusion
Extraire des images des documents PDF en Java devient une tâche simple et fiable lorsque vous exploitez la puissance du GroupDocs.Parser Cloud SDK for Java. Le SDK gère la gestion des informations d’identification, l’interaction avec le stockage cloud et le décodage des images, vous permettant de vous concentrer sur la logique de votre application. Pour les déploiements en production, achetez une licence appropriée sur la page de tarification ou obtenez une licence temporaire pour l’évaluation. Avec l’exemple de code, le guide cURL et les recommandations de bonnes pratiques présentées dans cet article, vous êtes prêt à intégrer l’extraction d’images PDF dans toute solution basée sur Java.
FAQs
Quels formats peuvent être extraits d’un PDF ?
Le SDK extrait les formats raster tels que PNG, JPG, BMP, GIF et TIFF, ainsi que les graphiques vectoriels lorsqu’ils sont stockés sous forme d’images.Dois-je télécharger le PDF avant d’extraire les images ?
Non. Le SDK fonctionne directement avec les fichiers stockés dans le stockage Cloud de GroupDocs, éliminant ainsi le besoin de téléchargements locaux.Comment le SDK gère-t-il les gros PDF ?
L’extraction est effectuée côté serveur, de sorte que l’utilisation de la mémoire sur votre machine reste faible. Vous pouvez également limiter l’extraction à des pages spécifiques pour améliorer les performances.Existe-t-il un moyen de tester l’extraction sans écrire de code ?
Oui, vous pouvez utiliser les commandes cURL fournies ci-dessus ou essayer la console API interactive sur la page du produit.
