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 ImageDctHashSearchCriteria with SpreadsheetSearchableObjects.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-watermark to your pom.xml.
  • Puis-je limiter la recherche à une seule feuille ? Yes, configure SpreadsheetLoadOptions with 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 :

  1. 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.
  2. 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.
  3. 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 AttachedImages uniquement ; 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 WatermarkerSettings pour 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ômeCause probableSolution
Aucun résultat retournéObjets recherchables définis sur NoneDéfinir SpreadsheetSearchableObjects.AttachedImages.
OutOfMemoryError sur un fichier de 500 pagesClasseur entier chargé en mémoireUtilisez SpreadsheetLoadOptions avec setLoadAllSheets(false) et chargez les feuilles individuellement.
Faux positifs dans la comparaison de hachageSeuil 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

import com.groupdocs.watermark.PossibleWatermarkCollection;

PossibleWatermarkCollection possibleWatermarks = watermarker.search(criteria);

Ressources

Tutoriels associés