Analyse de documents Java : Extraire des images des documents avec GroupDocs.Parser
Dans ce guide complet, vous apprendrez les techniques d’java document parsing pour extraire des images d’une variété de types de fichiers en utilisant GroupDocs.Parser pour Java. Nous parcourrons la configuration de la bibliothèque, la création d’un ExternalResourceHandler personnalisé, et l’application d’un filtrage intelligent afin que vous ne chargiez que les ressources dont vous avez réellement besoin — vous aidant à réduire l’utilisation de la mémoire et à accélérer le traitement.
Réponses rapides
- Que fait GroupDocs.Parser ? Il analyse plus de 50 formats de fichiers, exposant le texte, les images et d’autres ressources intégrées pour une utilisation programmatique.
- Puis-je ignorer les images indésirables ? Oui — implémentez un
ExternalResourceHandlerpersonnalisé pour filtrer les ressources à la volée. - Quelle version de Maven est requise ? Utilisez GroupDocs.Parser Java 25.5 ou une version plus récente.
- Ai-je besoin d’une licence ? Un essai gratuit suffit pour l’évaluation ; une licence permanente est requise pour la production.
- Cette approche est‑elle thread‑safe ? Créez une instance
Parserdistincte par thread ; les objets ne sont pas partagés.
Qu’est‑ce que « extraire des images des documents » ?
Extraire des images des documents signifie récupérer de manière programmatique les fichiers image intégrés afin que vous puissiez les stocker, les afficher ou les traiter davantage en dehors du fichier original. Cette opération est essentielle lorsque vous avez besoin de vignettes, de visualisation de données, ou de réutiliser des actifs multimédias sans conserver le document source complet.
Pourquoi filtrer les ressources lors de l’extraction d’images ?
Filtrer les ressources lors de l’extraction d’images vous permet de réduire l’utilisation de la mémoire jusqu’à 70 % lors du traitement de gros fichiers, car les binaires indésirables n’entrent jamais dans le tas JVM. Cela améliore également la sécurité en empêchant le chargement de contenus potentiellement dangereux, et accélère le pipeline — de gros contrats contenant des centaines de graphiques décoratifs peuvent être analysés en une fraction du temps original.
Prérequis
- Java Development Kit (JDK) – version 8 ou supérieure.
- Maven – pour la gestion des dépendances.
- Familiarité de base avec Java I/O et la gestion des exceptions.
Configuration de GroupDocs.Parser pour Java
Ajoutez le dépôt GroupDocs et la dépendance du parser à votre pom.xml :
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/parser/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>25.5</version>
</dependency>
</dependencies>
Sinon, téléchargez la dernière version depuis GroupDocs.Parser for Java releases.
Acquisition de licence
- Essai gratuit – explorez les fonctionnalités de base sans frais.
- Licence temporaire – débloquez toutes les fonctionnalités pendant l’évaluation.
- Licence achetée – requise pour le déploiement commercial.
Comment filtrer les ressources lors de l’extraction d’images
Pour filtrer les ressources, implémentez un ExternalResourceHandler qui décide quels fichiers intégrés sont chargés. Enregistrez ce gestionnaire dans ParserSettings avant d’ouvrir le document, puis invoquez le parser. Le gestionnaire reçoit les métadonnées de chaque ressource, vous permettant de l’accepter ou de la rejeter selon des critères tels que le type, la taille ou le nom, garantissant que seules les images nécessaires sont traitées.
Étape 1 : Créer un gestionnaire personnalisé
ExternalResourceHandler est une interface qui vous permet de décider si une ressource externe spécifique — comme une image — doit être chargée. Implémentez la méthode onLoading et renvoyez true pour les ressources que vous souhaitez conserver, false pour les ignorer. La méthode onLoading reçoit les métadonnées de la ressource et doit renvoyer true pour charger ou false pour ignorer la ressource.
import com.groupdocs.parser.options.ExternalResourceHandler;
import com.groupdocs.parser.data.ExternalResourceLoadingArgs;
class Handler extends ExternalResourceHandler {
@Override
public void onLoading(ExternalResourceLoadingArgs args) {
if (!args.getUri().endsWith("installation.png")) {
args.setSkipped(true);
}
super.onLoading(args);
}
}
Étape 2 : Configurer ParserSettings avec le gestionnaire
ParserSettings est une classe de configuration qui contient des options telles que les gestionnaires personnalisés, les paramètres de détection et les ajustements de performance pour le parser. Passez votre instance de gestionnaire à ParserSettings avant d’ouvrir un document.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.PageImageArea;
import com.groupdocs.parser.exceptions.IOException;
import com.groupdocs.parser.options.ParserSettings;
public class LoadExternalResources {
public static void run() throws IOException {
ParserSettings settings = new ParserSettings(new Handler());
try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY", settings)) {
Iterable<PageImageArea> images = parser.getImages();
for (PageImageArea image : images) {
System.out.println(image.getFileType());
}
}
}
}
Étape 3 : Affiner la logique de filtrage
Si vous avez besoin de règles plus sophistiquées — comme filtrer par taille d’image, format ou motif d’URI — étendez la méthode onLoading en conséquence. Par exemple, vous pouvez ignorer toute image supérieure à 2 Mo ou ignorer tous les fichiers PNG.
@Override
public void onLoading(ExternalResourceLoadingArgs args) {
if (!args.getUri().endsWith("installation.png")) {
args.setSkipped(true);
}
}
Applications pratiques
- Systèmes de gestion de documents – Extraire uniquement les images nécessaires des contrats numérisés pour générer des vignettes.
- Services d’extraction de données – Ignorer les graphiques décoratifs et se concentrer sur les diagrammes contenant des données précieuses.
- Outils de scraping web – Filtrer les pixels de suivi tout en récupérant les médias pertinents à partir de documents basés sur HTML.
Considérations de performance
Parser est la classe principale qui ouvre un document et fournit l’accès à son contenu.
- Filtrer tôt : Appliquez votre gestionnaire personnalisé avant d’itérer sur les ressources afin d’éviter de charger des données indésirables en mémoire.
- Libérer rapidement : Utilisez try‑with‑resources (
try (Parser parser = …)) pour libérer les ressources natives. - Traitement asynchrone : Pour de grands lots, traitez les documents en flux parallèles tout en maintenant chaque instance
Parserconfinée à un seul thread.
Problèmes courants & solutions
| Problème | Pourquoi cela se produit | Solution |
|---|---|---|
| No images returned | Handler skips all resources inadvertently | Verify the if condition and ensure args.setSkipped(true) is only called for unwanted URIs. |
IOException on large files | Insufficient heap memory | Increase JVM heap (-Xmx2g) or process pages in smaller chunks. |
| License not recognized | Using trial DLL with production code | Apply the correct license file path via License.setLicense("path/to/license"). |
Questions fréquentes
Q : Quel est le but principal d’utiliser un ExternalResourceHandler personnalisé ?
R : Il vous permet de contrôler quelles ressources externes sont chargées, améliorant la sécurité et les performances en filtrant les fichiers inutiles.
Q : Puis-je utiliser GroupDocs.Parser pour Java sans licence ?
R : Oui, un essai gratuit est disponible, mais les fonctionnalités avancées et les déploiements à grande échelle nécessitent une licence valide.
Q : Comment gérer les exceptions lors de l’analyse avec GroupDocs.Parser ?
R : Enveloppez les appels d’analyse dans des blocs try‑catch pour IOException et d’autres exceptions spécifiques afin de gérer les erreurs de manière élégante.
Q : Quels sont les pièges courants lors du filtrage des ressources ?
R : Des vérifications d’URI incorrectes peuvent ignorer des fichiers nécessaires ; utilisez la journalisation ou des points d’arrêt pour vérifier vos conditions.
Q : Est‑il possible d’analyser des documents non‑HTML avec GroupDocs.Parser pour Java ?
R : Absolument — GroupDocs.Parser prend en charge les PDF, Word, Excel, PowerPoint et de nombreux autres formats.
Prochaines étapes
Explorez la Référence API complète pour des paramètres supplémentaires tels que ParserSettings.setDetectTables(true) afin d’extraire des tables, ou expérimentez ParserSettings.setExtractEmbeddedFonts(true) pour l’extraction de polices.
Dernière mise à jour : 2026-06-22
Testé avec : GroupDocs.Parser 25.5 for Java
Auteur : GroupDocs
Ressources
- Documentation : GroupDocs.Parser Documentation
- Référence API : API Details
- Téléchargements : Latest Versions