Hur man söker bilder i Excel med GroupDocs.Watermark Java

Att söka efter specifika bilder i Excel-arbetsböcker kan vara tidskrävande, särskilt när man hanterar stora filer eller många inbäddade grafik. How to search images blir snabbt en kritisk fråga för alla som automatiserar dokumentarbetsflöden. I den här guiden visar vi exakt hur du söker bilder i Excel-kalkylblad med GroupDocs.Watermark Java, samtidigt som vi täcker de väsentliga stegen för att load Excel file java projekt effektivt.

Snabba svar

  • What is the fastest way to locate an embedded image? Använd ImageDctHashSearchCriteria med SpreadsheetSearchableObjects.AttachedImages.
  • Do I need a special license? En tillfällig eller provlicens låser upp fulla sökfunktioner.
  • Which Maven dependency is required? Lägg till com.groupdocs:groupdocs-watermark i din pom.xml.
  • Can I limit the search to a single sheet? Ja, konfigurera SpreadsheetLoadOptions med bladnamnet.
  • Is the API thread‑safe? Alla offentliga metoder är säkra för samtidig användning efter korrekt initiering.

ImageDctHashSearchCriteria definierar DCT-hashen som används för bildjämförelse. SpreadsheetSearchableObjects.AttachedImages begränsar sökningen till inbäddade bilder.

Vad betyder “how to search images” i sammanhanget med GroupDocs.Watermark?

“How to search images” avser att programatiskt lokalisera inbäddade bildobjekt i ett dokument med hjälp av Watermarker API. Biblioteket skannar varje arbetsblad, extraherar bildobjekt, beräknar deras Discrete Cosine Transform (DCT)-hash och jämför den med hashvärdet för målbilden, och returnerar eventuella matchningar som vattenstämpelobjekt som kan bearbetas vidare.

Varför använda GroupDocs.Watermark för bildsökningar i Excel?

GroupDocs.Watermark stödjer 50+ in- och utdataformat—inklusive XLSX, XLS, CSV och ODS—samtidigt som det bearbetar arbetsböcker med flera hundra sidor utan att ladda hela filen i minnet. Dess DCT‑hash‑algoritm identifierar visuellt liknande bilder med > 95 % noggrannhet, vilket kraftigt minskar falska positiva. Dessutom erbjuder biblioteket streaming‑åtkomst, så att du kan arbeta med filer som är större än tillgängligt RAM, och det har inbyggt stöd för lösenordsskyddade arbetsböcker, vilket gör det lämpligt för automatiseringspipelines på företagsnivå.

Förutsättningar

Innan du börjar, se till att du har:

  • Java Development Kit (JDK) 8+ installerat och konfigurerat i din PATH.
  • Maven för beroendehantering (eller så kan du ladda ner JAR-filerna manuellt).
  • En GroupDocs.Watermark-licens (prov, tillfällig eller permanent) för att låsa upp sök‑API:t.
  • Grundläggande kunskap om Java‑samlingar och undantagshantering.

Nödvändiga bibliotek och beroenden

För att arbeta med GroupDocs.Watermark Java, konfigurera din miljö med Maven eller ladda ner de nödvändiga biblioteken. Säkerställ att du har:

  • Maven Configuration: Lägg till GroupDocs‑arkivet och beroendet i din pom.xml.
  • Java Development Kit (JDK): Version 8 eller högre krävs.

Krav för miljöinställning

Säkerställ att Java är korrekt installerat på ditt system, tillsammans med Maven för beroendehantering om du väljer denna installationsmetod.

Kunskapsförutsättningar

En grundläggande förståelse för Java‑programmering och erfarenhet av att hantera Excel‑filer programatiskt kommer att vara fördelaktigt. Om du är ny på dessa koncept, överväg att först utforska introduktionsresurser.

Hur ställer du in GroupDocs.Watermark för Java?

Läs in ditt Maven‑projekt, lägg till beroendet och initiera Watermarker med lämpliga inställningar. Denna tvåstegsprocess gör dig redo att börja söka. Först, lägg till Maven‑arkivet och beroendet i din pom.xml, sedan skapa en Watermarker‑instans genom att ange Excel‑filens sökväg och ett WatermarkLoadOptions‑objekt som specificerar önskat blad och sökinställningar. SpreadsheetLoadOptions låter dig ange vilka blad som ska laddas och konfigurera sökalternativ såsom skiftlägeskänslighet. Watermarker är huvudpunkten för att ladda dokument och utföra sök‑ eller vattenstämplingsoperationer.

<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>

Hur laddar du Excel‑fil java med specifika sökinställningar?

Läs in arbetsboken samtidigt som du instruerar biblioteket att endast titta på bifogade bilder. Detta fokuserade tillvägagångssätt minskar bearbetningstiden med upp till 30 % för typiska kalkylblad.

import com.groupdocs.watermark.Watermarker;
// Basic initialization code here...

Hur konfigurerar du sökningen för att endast rikta in sig på bifogade bilder?

SpreadsheetSearchableObjects‑enumet låter dig specificera exakt vad som ska genomsökas. Att sätta det till AttachedImages begränsar motorn till bildobjekt och ignorerar text, formler eller diagram.

import com.groupdocs.watermark.WatermarkerSettings;
import com.groupdocs.watermark.options.SpreadsheetLoadOptions;

WatermarkerSettings settings = new WatermarkerSettings();
settings.getSearchableObjects().setSpreadsheetSearchableObjects(SpreadsheetSearchableObjects.AttachedImages);

Hur utför du en bildsökning med DCT‑hash‑kriterier?

DCT‑hash‑metoden skapar ett kompakt fingeravtryck av referensbilden och jämför det med varje inbäddad bild, och returnerar matchningar med hög visuell likhet.

import com.groupdocs.watermark.Watermarker;

String filePath = "YOUR_DOCUMENT_DIRECTORY/spreadsheet.xlsx";
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
Watermarker watermarker = new Watermarker(filePath, loadOptions, settings);

Hur definierar du DCT‑hash‑sök kriterierna?

ImageDctHashSearchCriteria kapslar in referensbilden och ett valfritt likhetströskelvärde. Du kan justera tröskeln (0‑100) för att strama åt eller lossa matchningen.

// Reuse the previous configuration from the 'Load Spreadsheet' section.

Hur kör du sökningen och bearbetar resultaten?

Att anropa watermarker.search(criteria) returnerar en samling av Watermark‑objekt. Iterera över samlingen för att hämta sidnummer, celladresser eller för att ersätta bilden.

import com.groupdocs.watermark.search.ImageDctHashSearchCriteria;

String imagePath = "YOUR_DOCUMENT_DIRECTORY/sample_image.png";
ImageDctHashSearchCriteria criteria = new ImageDctHashSearchCriteria(imagePath);

Praktiska tillämpningar

Här är några verkliga scenarier där dessa funktioner glänser:

  1. Document Management Systems: Indexera och tagga automatiskt kalkylblad baserat på inbäddade logotyper eller produktbilder.
  2. Data Auditing: Verifiera att visuella data (diagram, skärmbilder) inte har ändrats genom att jämföra DCT‑hashar mellan versioner.
  3. Content Verification: Säkerställ att endast godkända varumärkesresurser visas i finansiella rapporter eller marknadsföringspresentationer.

Prestandaöverväganden

För att hålla din applikation snabb:

  • Avgränsa sökningen till endast AttachedImages; detta minskar CPU‑användning med ~30 % i genomsnitt.
  • Bearbeta stora filer i delar genom att ladda individuella blad istället för hela arbetsboken.
  • Återanvänd WatermarkerSettings över flera sökningar för att undvika upprepad objekt‑skapande.
  • Övervaka minnet med Java‑profileringverktyg; biblioteket strömmar data, men mycket stora bilder kan fortfarande påverka heap‑användning.

Vanliga problem och lösningar

SymptomTrolig orsakLösning
Inga resultat returneradeSökbara objekt inställda på NoneStäll in SpreadsheetSearchableObjects.AttachedImages.
OutOfMemoryError på 500‑sidig filHela arbetsboken laddad i minnetAnvänd SpreadsheetLoadOptions med setLoadAllSheets(false) och ladda blad individuellt.
Falska positiva i hash‑jämförelseTröskelvärdet för lågt (t.ex. 30)Öka likhetströskeln till 80‑90 för striktare matchning.

Vanliga frågor

Q: Vilka filformat kan GroupDocs.Watermark läsa för Excel?
A: Det stödjer XLSX, XLS, CSV och ODS, och hanterar både äldre och moderna arbetsbokstruktur.

Q: Kan jag söka efter bilder som inte är bifogade (t.ex. flytande former)?
A: Ja, genom att sätta SpreadsheetSearchableObjects.All kan du inkludera flytande bilder, diagram och andra ritobjekt.

Q: Hur exakt är DCT‑hash‑matchning?
A: Algoritmen uppnår > 95 % likhetsdetektering för storleksändrade eller lätt omfärgade bilder, vilket gör den idealisk för varumärkeskontroller.

Q: Är det möjligt att automatiskt ersätta hittade bilder?
A: Absolut. Efter att ha lokaliserat en Watermark, anropa watermarker.replace(watermark, newImagePath) för att byta ut grafiken.

Q: Fungerar biblioteket i Linux‑behållare?
A: Ja, GroupDocs.Watermark är ren Java och körs på alla plattformar med en kompatibel JRE, inklusive Docker‑baserade Linux‑behållare.

Slutsats

I den här handledningen gick vi igenom how to search images i Excel‑arbetsböcker med GroupDocs.Watermark Java, från miljöinställning till att utföra en DCT‑hash‑baserad sökning. Genom att begränsa skanningen till bifogade bilder och utnyttja den kraftfulla hash‑jämförelsen kan du dramatiskt snabba upp bild‑verifieringsarbetsflöden samtidigt som du behåller hög noggrannhet. Nästa steg är att utforska bibliotekets funktioner för att lägga till vattenstämplar eller integrera söklogiken i en större dokument‑bearbetningspipeline.


Last Updated: 2026-06-01
Tested With: GroupDocs.Watermark 23.12 for Java
Author: GroupDocs

Resurser

import com.groupdocs.watermark.PossibleWatermarkCollection;

PossibleWatermarkCollection possibleWatermarks = watermarker.search(criteria);

Resurser

Relaterade handledningar