Jak wyszukiwać obrazy w Excelu przy użyciu GroupDocs.Watermark Java
Wyszukiwanie konkretnych obrazów w skoroszytach Excel może być żmudne, szczególnie przy dużych plikach lub wielu osadzonych grafik. How to search images szybko staje się kluczowym pytaniem dla każdego, kto automatyzuje przepływy pracy dokumentów. W tym przewodniku pokażemy dokładnie, jak wyszukiwać obrazy w arkuszach Excel przy użyciu GroupDocs.Watermark Java, jednocześnie omawiając niezbędne kroki do efektywnego load Excel file java projektów.
Szybkie odpowiedzi
- Jaki jest najszybszy sposób na zlokalizowanie osadzonego obrazu? Use
ImageDctHashSearchCriteriawithSpreadsheetSearchableObjects.AttachedImages. - Czy potrzebuję specjalnej licencji? A temporary or trial license unlocks full search capabilities.
- Jakie zależności Maven są wymagane? Add
com.groupdocs:groupdocs-watermarkto yourpom.xml. - Czy mogę ograniczyć wyszukiwanie do jednego arkusza? Yes, configure
SpreadsheetLoadOptionswith the sheet name. - Czy API jest bezpieczne wątkowo? All public methods are safe for concurrent use after proper initialization.
ImageDctHashSearchCriteria definiuje hash DCT używany do porównywania obrazów. SpreadsheetSearchableObjects.AttachedImages ogranicza wyszukiwanie do osadzonych obrazków.
Co oznacza „how to search images” w kontekście GroupDocs.Watermark?
„How to search images” odnosi się do programowego lokalizowania osadzonych obiektów graficznych w dokumencie przy użyciu API Watermarker. Biblioteka skanuje każdy arkusz, wyodrębnia obiekty graficzne, oblicza ich hash Dyskretnej Transformacji Cosinusowej (DCT) i porównuje go z hashem docelowego obrazu, zwracając dopasowania jako obiekty watermark, które można dalej przetwarzać.
Dlaczego używać GroupDocs.Watermark do wyszukiwania obrazów w Excelu?
GroupDocs.Watermark obsługuje ponad 50 formatów wejściowych i wyjściowych — w tym XLSX, XLS, CSV i ODS — przetwarzając wielostronicowe skoroszyty bez ładowania całego pliku do pamięci. Jego algorytm DCT‑hash identyfikuje wizualnie podobne obrazy z dokładnością > 95 %, znacząco redukując fałszywe trafienia. Dodatkowo biblioteka oferuje dostęp strumieniowy, umożliwiając pracę z plikami większymi niż dostępna pamięć RAM, oraz zapewnia wbudowane wsparcie dla skoroszytów zabezpieczonych hasłem, co czyni ją odpowiednią dla przedsiębiorstwowych potoków automatyzacji.
Wymagania wstępne
Zanim rozpoczniesz, upewnij się, że masz:
- Java Development Kit (JDK) 8+ zainstalowany i skonfigurowany w
PATH. - Maven do zarządzania zależnościami (lub możesz pobrać pliki JAR ręcznie).
- Licencję GroupDocs.Watermark (trial, tymczasową lub stałą), aby odblokować API wyszukiwania.
- Podstawową znajomość kolekcji Java i obsługi wyjątków.
Wymagane biblioteki i zależności
Aby pracować z GroupDocs.Watermark Java, skonfiguruj środowisko przy użyciu Maven lub pobierz niezbędne biblioteki. Upewnij się, że masz:
- Konfiguracja Maven: Dodaj repozytorium GroupDocs i zależność do swojego
pom.xml. - Java Development Kit (JDK): Wymagana wersja 8 lub wyższa.
Wymagania dotyczące konfiguracji środowiska
Upewnij się, że Java jest prawidłowo zainstalowana w systemie, wraz z Mavenem do zarządzania zależnościami, jeśli wybierasz tę metodę instalacji.
Wymagania wiedzy
Podstawowa znajomość programowania w Javie oraz obsługi plików Excel programowo będzie pomocna. Jeśli jesteś nowicjuszem w tych zagadnieniach, rozważ najpierw zapoznanie się z materiałami wprowadzającymi.
Jak skonfigurować GroupDocs.Watermark dla Java?
Załaduj swój projekt Maven, dodaj zależność i zainicjalizuj Watermarker z odpowiednimi ustawieniami. Ten dwustopniowy proces przygotowuje Cię do rozpoczęcia wyszukiwania. Najpierw dodaj repozytorium Maven i zależność do swojego pom.xml, a następnie utwórz instancję Watermarker, przekazując ścieżkę do pliku Excel oraz obiekt WatermarkLoadOptions, który określa żądany arkusz i ustawienia wyszukiwania. SpreadsheetLoadOptions pozwala określić, które arkusze załadować i skonfigurować opcje wyszukiwania, takie jak uwzględnianie wielkości liter. Watermarker jest głównym punktem wejścia do ładowania dokumentów oraz wykonywania operacji wyszukiwania lub znakowania.
<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>
Jak załadować plik Excel java z określonymi ustawieniami wyszukiwania?
Załaduj skoroszyt, informując bibliotekę, aby przeszukiwała tylko dołączone obrazy. Takie ukierunkowane podejście skraca czas przetwarzania nawet o 30 % dla typowych arkuszy.
import com.groupdocs.watermark.Watermarker;
// Basic initialization code here...
Jak skonfigurować wyszukiwanie, aby celować tylko w dołączone obrazy?
Enum SpreadsheetSearchableObjects pozwala dokładnie określić, co skanować. Ustawienie go na AttachedImages ogranicza silnik do obiektów graficznych, ignorując tekst, formuły czy wykresy.
import com.groupdocs.watermark.WatermarkerSettings;
import com.groupdocs.watermark.options.SpreadsheetLoadOptions;
WatermarkerSettings settings = new WatermarkerSettings();
settings.getSearchableObjects().setSpreadsheetSearchableObjects(SpreadsheetSearchableObjects.AttachedImages);
Jak wykonać wyszukiwanie obrazu przy użyciu kryteriów hash DCT?
Metoda DCT‑hash tworzy kompaktowy odcisk referencyjnego obrazu i porównuje go z każdym osadzonym obrazkiem, zwracając dopasowania o wysokiej podobieństwie wizualnym.
import com.groupdocs.watermark.Watermarker;
String filePath = "YOUR_DOCUMENT_DIRECTORY/spreadsheet.xlsx";
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
Watermarker watermarker = new Watermarker(filePath, loadOptions, settings);
Jak zdefiniować kryteria wyszukiwania hash DCT?
ImageDctHashSearchCriteria kapsułkuje obraz referencyjny oraz opcjonalny próg podobieństwa. Możesz dostosować próg (0‑100), aby ściślej lub luźniej dopasować wyniki.
// Reuse the previous configuration from the 'Load Spreadsheet' section.
Jak uruchomić wyszukiwanie i przetworzyć wyniki?
Wywołanie watermarker.search(criteria) zwraca kolekcję obiektów Watermark. Iteruj po kolekcji, aby uzyskać numery stron, adresy komórek lub zamienić obraz.
import com.groupdocs.watermark.search.ImageDctHashSearchCriteria;
String imagePath = "YOUR_DOCUMENT_DIRECTORY/sample_image.png";
ImageDctHashSearchCriteria criteria = new ImageDctHashSearchCriteria(imagePath);
Praktyczne zastosowania
Oto kilka rzeczywistych scenariuszy, w których te funkcje błyszczą:
- Systemy zarządzania dokumentami: Automatycznie indeksuj i oznaczaj arkusze na podstawie osadzonych logotypów lub zdjęć produktów.
- Audyt danych: Zweryfikuj, że dane wizualne (wykresy, zrzuty ekranu) nie zostały zmienione, porównując hashe DCT pomiędzy wersjami.
- Weryfikacja treści: Upewnij się, że w raportach finansowych lub prezentacjach marketingowych pojawiają się tylko autoryzowane zasoby marki.
Rozważania dotyczące wydajności
Aby Twoja aplikacja była szybka:
- Ogranicz wyszukiwanie do
AttachedImages; zmniejsza to średnie zużycie CPU o ~30 %. - Przetwarzaj duże pliki w fragmentach, ładując poszczególne arkusze zamiast całego skoroszytu.
- Ponownie używaj
WatermarkerSettingsw wielu wyszukiwaniach, aby uniknąć wielokrotnego tworzenia obiektów. - Monitoruj pamięć przy użyciu narzędzi profilujących Java; biblioteka strumieniuje dane, ale bardzo duże obrazy mogą nadal wpływać na zużycie sterty.
Typowe problemy i rozwiązania
| Objaw | Prawdopodobna przyczyna | Rozwiązanie |
|---|---|---|
| Brak wyników | Obiekty przeszukiwane ustawione na None | Ustaw SpreadsheetSearchableObjects.AttachedImages. |
OutOfMemoryError przy pliku 500‑stronnicowym | Cały skoroszyt załadowany do pamięci | Użyj SpreadsheetLoadOptions z setLoadAllSheets(false) i ładuj arkusze indywidualnie. |
| Fałszywe trafienia w porównaniu hash | Próg zbyt niski (np. 30) | Zwiększ próg podobieństwa do 80‑90 dla ściślejszego dopasowania. |
Najczęściej zadawane pytania
Q: Jakie formaty plików może odczytywać GroupDocs.Watermark dla Excela?
A: Obsługuje XLSX, XLS, CSV i ODS, obsługując zarówno starsze, jak i nowoczesne struktury skoroszytów.
Q: Czy mogę wyszukiwać obrazy, które nie są dołączone (np. unoszące się kształty)?
A: Tak, ustawiając SpreadsheetSearchableObjects.All możesz uwzględnić unoszące się obrazy, wykresy i inne obiekty rysunkowe.
Q: Jak dokładne jest dopasowanie hash DCT?
A: Algorytm osiąga > 95 % wykrywania podobieństwa dla przeskalowanych lub lekko przetworzonych kolorystycznie obrazów, co czyni go idealnym do kontroli marki.
Q: Czy można automatycznie zamienić znalezione obrazy?
A: Oczywiście. Po zlokalizowaniu Watermark, wywołaj watermarker.replace(watermark, newImagePath), aby wymienić grafikę.
Q: Czy biblioteka działa w kontenerach Linux?
A: Tak, GroupDocs.Watermark jest czystą Javą i działa na każdej platformie z kompatybilnym JRE, w tym w kontenerach Linux opartych na Dockerze.
Podsumowanie
W tym samouczku przeprowadziliśmy how to search images w skoroszytach Excel przy użyciu GroupDocs.Watermark Java, od konfiguracji środowiska po wykonanie wyszukiwania opartego na hash DCT. Ograniczając skanowanie do dołączonych obrazów i wykorzystując potężne porównanie hash, możesz znacznie przyspieszyć przepływy weryfikacji obrazów przy zachowaniu wysokiej dokładności. Następnie, odkryj możliwości biblioteki w zakresie dodawania znaków wodnych lub zintegrować logikę wyszukiwania w większym potoku przetwarzania dokumentów.
Ostatnia aktualizacja: 2026-06-01
Testowano z: GroupDocs.Watermark 23.12 dla Java
Autor: GroupDocs
Zasoby
- Dokumentacja: GroupDocs.Watermark Java Docs
- Referencja API: GroupDocs API Reference
- Pobieranie: GroupDocs Downloads
import com.groupdocs.watermark.PossibleWatermarkCollection;
PossibleWatermarkCollection possibleWatermarks = watermarker.search(criteria);
Zasoby
- Wydania GroupDocs.Watermark dla Java
- GroupDocs.Watermark Java Docs
- Referencja API GroupDocs
- Pobieranie GroupDocs