Comment rechercher des images dans Excel avec GroupDocs.Watermark Java
Rechercher des images spécifiques à l’intérieur des classeurs Excel peut être fastidieux, surtout lorsqu’on travaille avec de gros fichiers ou de nombreux graphiques intégrés. How to search images devient rapidement une question cruciale pour quiconque automatise les flux de travail de documents. Dans ce guide, nous vous montrerons exactement comment rechercher des images dans les feuilles de calcul Excel à l’aide de GroupDocs.Watermark Java, tout en couvrant les étapes essentielles pour load Excel file java projets efficacement.
Réponses rapides
- Quel est le moyen le plus rapide pour localiser une image intégrée ? Use
ImageDctHashSearchCriteriawithSpreadsheetSearchableObjects.AttachedImages. - Ai-je besoin d’une licence spéciale ? A temporary or trial license unlocks full search capabilities.
- Quelle dépendance Maven est requise ? Add
com.groupdocs:groupdocs-watermarkto yourpom.xml. - Puis-je limiter la recherche à une seule feuille ? Yes, configure
SpreadsheetLoadOptionswith the sheet name. - L’API est‑elle thread‑safe ? All public methods are safe for concurrent use after proper initialization.
ImageDctHashSearchCriteria définit le hachage DCT utilisé pour la comparaison d’images. SpreadsheetSearchableObjects.AttachedImages limite la recherche aux images intégrées.
Qu’est‑ce que « how to search images » dans le contexte de GroupDocs.Watermark ?
« How to search images » désigne la localisation programmatique d’objets image intégrés à l’intérieur d’un document à l’aide de l’API Watermarker. La bibliothèque analyse chaque feuille de calcul, extrait les objets image, calcule leur hachage Discrete Cosine Transform (DCT), et le compare au hachage de l’image cible, renvoyant toute correspondance sous forme d’objets watermark qui peuvent être traités davantage.
Pourquoi utiliser GroupDocs.Watermark pour la recherche d’images dans Excel ?
GroupDocs.Watermark prend en charge plus de 50 formats d’entrée et de sortie — y compris XLSX, XLS, CSV et ODS — tout en traitant des classeurs de plusieurs centaines de pages sans charger le fichier complet en mémoire. Son algorithme de hachage DCT identifie les images visuellement similaires avec une précision > 95 %, réduisant considérablement les faux positifs. De plus, la bibliothèque offre un accès en streaming, vous permettant de travailler avec des fichiers plus volumineux que la RAM disponible, et fournit une prise en charge intégrée des classeurs protégés par mot de passe, ce qui la rend adaptée aux pipelines d’automatisation de niveau entreprise.
Prérequis
Avant de commencer, assurez‑vous d’avoir :
- Java Development Kit (JDK) 8+ installé et configuré dans votre
PATH. - Maven pour la gestion des dépendances (ou vous pouvez télécharger les JARs manuellement).
- Une licence GroupDocs.Watermark (essai, temporaire ou permanente) pour débloquer l’API de recherche.
- Une connaissance de base des collections Java et de la gestion des exceptions.
Bibliothèques et dépendances requises
Pour travailler avec GroupDocs.Watermark Java, configurez votre environnement avec Maven ou téléchargez les bibliothèques nécessaires. Assurez‑vous d’avoir :
- Configuration Maven : Ajoutez le référentiel GroupDocs et la dépendance à votre
pom.xml. - Java Development Kit (JDK) : La version 8 ou supérieure est requise.
Exigences de configuration de l’environnement
Assurez‑vous que Java est correctement installé sur votre système, ainsi que Maven pour la gestion des dépendances si vous choisissez cette méthode d’installation.
Prérequis de connaissances
Une compréhension de base de la programmation Java et une familiarité avec la manipulation programmatique des fichiers Excel seront utiles. Si vous êtes novice à ces concepts, envisagez d’explorer d’abord des ressources d’introduction.
Comment configurer GroupDocs.Watermark pour Java ?
Chargez votre projet Maven, ajoutez la dépendance, et initialisez le Watermarker avec les paramètres appropriés. Ce processus en deux étapes vous prépare à commencer la recherche. D’abord, ajoutez le référentiel Maven et la dépendance à votre pom.xml, puis créez une instance de Watermarker en passant le chemin du fichier Excel et un objet WatermarkLoadOptions qui spécifie la feuille souhaitée et les paramètres de recherche. SpreadsheetLoadOptions vous permet de spécifier quelles feuilles charger et de configurer les options de recherche telles que la sensibilité à la casse. Watermarker est le point d’entrée principal pour charger les documents et effectuer des opérations de recherche ou de filigrane.
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/watermark/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-watermark</artifactId>
<version>24.11</version>
</dependency>
</dependencies>
Comment charger un fichier Excel java avec des paramètres de recherche spécifiques ?
Chargez le classeur tout en indiquant à la bibliothèque de ne regarder que les images intégrées. Cette approche ciblée réduit le temps de traitement jusqu’à 30 % pour les feuilles de calcul typiques.
import com.groupdocs.watermark.Watermarker;
// Basic initialization code here...
Comment configurer la recherche pour cibler uniquement les images intégrées ?
L’énumération SpreadsheetSearchableObjects vous permet de spécifier exactement ce qu’il faut analyser. La définir sur AttachedImages restreint le moteur aux objets image, en ignorant le texte, les formules ou les graphiques.
import com.groupdocs.watermark.WatermarkerSettings;
import com.groupdocs.watermark.options.SpreadsheetLoadOptions;
WatermarkerSettings settings = new WatermarkerSettings();
settings.getSearchableObjects().setSpreadsheetSearchableObjects(SpreadsheetSearchableObjects.AttachedImages);
Comment exécuter une recherche d’image en utilisant le critère de hachage DCT ?
La méthode de hachage DCT crée une empreinte compacte de l’image de référence et la compare à chaque image intégrée, renvoyant les correspondances avec une forte similarité visuelle.
import com.groupdocs.watermark.Watermarker;
String filePath = "YOUR_DOCUMENT_DIRECTORY/spreadsheet.xlsx";
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
Watermarker watermarker = new Watermarker(filePath, loadOptions, settings);
Comment définir le critère de recherche par hachage DCT ?
ImageDctHashSearchCriteria encapsule l’image de référence et le seuil de similarité optionnel. Vous pouvez ajuster le seuil (0‑100) pour resserrer ou assouplir la correspondance.
// Reuse the previous configuration from the 'Load Spreadsheet' section.
Comment exécuter la recherche et traiter les résultats ?
Appeler watermarker.search(criteria) renvoie une collection d’objets Watermark. Parcourez la collection pour récupérer les numéros de page, les adresses de cellules, ou pour remplacer l’image.
import com.groupdocs.watermark.search.ImageDctHashSearchCriteria;
String imagePath = "YOUR_DOCUMENT_DIRECTORY/sample_image.png";
ImageDctHashSearchCriteria criteria = new ImageDctHashSearchCriteria(imagePath);
Applications pratiques
Voici quelques scénarios réels où ces fonctionnalités brillent :
- Systèmes de gestion de documents : Indexez et étiquetez automatiquement les feuilles de calcul en fonction des logos ou photos de produit intégrés.
- Audit des données : Vérifiez que les données visuelles (graphes, captures d’écran) n’ont pas été modifiées en comparant les hachages DCT entre les versions.
- Vérification de contenu : Assurez‑vous que seules les ressources de marque autorisées apparaissent dans les rapports financiers ou les présentations marketing.
Considérations de performance
Pour garder votre application réactive :
- Restreignez la recherche aux
AttachedImagesuniquement ; cela réduit l’utilisation du CPU d’environ ~30 % en moyenne. - Traitez les gros fichiers par morceaux en chargeant les feuilles individuelles plutôt que le classeur complet.
- Réutilisez
WatermarkerSettingspour plusieurs recherches afin d’éviter la création répétée d’objets. - Surveillez la mémoire avec des outils de profilage Java ; la bibliothèque diffuse les données, mais les images très volumineuses peuvent encore impacter l’utilisation du tas.
Problèmes courants et solutions
| Symptôme | Cause probable | Solution |
|---|---|---|
| Aucun résultat retourné | Objets recherchables définis sur None | Définir SpreadsheetSearchableObjects.AttachedImages. |
OutOfMemoryError sur un fichier de 500 pages | Classeur entier chargé en mémoire | Utilisez SpreadsheetLoadOptions avec setLoadAllSheets(false) et chargez les feuilles individuellement. |
| Faux positifs dans la comparaison de hachage | Seuil trop bas (par ex., 30) | Augmentez le seuil de similarité à 80‑90 pour une correspondance plus stricte. |
Questions fréquemment posées
Q : Quels formats de fichiers GroupDocs.Watermark peut‑il lire pour Excel ?
R : Il prend en charge XLSX, XLS, CSV et ODS, gérant à la fois les structures de classeur héritées et modernes.
Q : Puis‑je rechercher des images qui ne sont pas intégrées (par ex., formes flottantes) ?
R : Oui, en définissant SpreadsheetSearchableObjects.All vous pouvez inclure les images flottantes, les graphiques et d’autres objets de dessin.
Q : Quelle est la précision du rapprochement par hachage DCT ?
R : L’algorithme atteint une détection de similarité > 95 % pour les images redimensionnées ou légèrement recolorées, ce qui le rend idéal pour les vérifications de marque.
Q : Est‑il possible de remplacer automatiquement les images trouvées ?
R : Absolument. Après avoir localisé un Watermark, appelez watermarker.replace(watermark, newImagePath) pour échanger le graphique.
Q : La bibliothèque fonctionne‑t‑elle sur des conteneurs Linux ?
R : Oui, GroupDocs.Watermark est purement Java et s’exécute sur toute plateforme disposant d’une JRE compatible, y compris les conteneurs Linux basés sur Docker.
Conclusion
Dans ce tutoriel, nous avons parcouru how to search images à l’intérieur des classeurs Excel à l’aide de GroupDocs.Watermark Java, depuis la configuration de l’environnement jusqu’à l’exécution d’une recherche basée sur le hachage DCT. En limitant l’analyse aux images intégrées et en exploitant la puissante comparaison de hachage, vous pouvez accélérer considérablement les flux de travail de vérification d’images tout en maintenant une grande précision. Ensuite, explorez les capacités d’ajout de filigrane de la bibliothèque ou intégrez la logique de recherche dans un pipeline de traitement de documents plus vaste.
Dernière mise à jour : 2026-06-01
Testé avec : GroupDocs.Watermark 23.12 for Java
Auteur : GroupDocs
Ressources
- Documentation : GroupDocs.Watermark Java Docs
- Référence API : GroupDocs API Reference
- Téléchargement : GroupDocs Downloads
import com.groupdocs.watermark.PossibleWatermarkCollection;
PossibleWatermarkCollection possibleWatermarks = watermarker.search(criteria);
Ressources
- GroupDocs.Watermark for Java releases
- GroupDocs.Watermark Java Docs
- GroupDocs API Reference
- GroupDocs Downloads