Cách Tìm Kiếm Hình Ảnh trong Excel với GroupDocs.Watermark Java

Việc tìm kiếm các hình ảnh cụ thể trong các workbook Excel có thể rất tốn công, đặc biệt khi làm việc với các tệp lớn hoặc nhiều đồ họa nhúng. How to search images nhanh chóng trở thành một câu hỏi quan trọng đối với bất kỳ ai tự động hoá quy trình tài liệu. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách tìm kiếm hình ảnh trong bảng tính Excel bằng GroupDocs.Watermark Java, đồng thời đề cập đến các bước cần thiết để load Excel file java dự án một cách hiệu quả.

Câu trả lời nhanh

  • Cách nhanh nhất để xác định vị trí một hình ảnh nhúng là gì? Use ImageDctHashSearchCriteria with SpreadsheetSearchableObjects.AttachedImages.
  • Tôi có cần giấy phép đặc biệt không? A temporary or trial license unlocks full search capabilities.
  • Phụ thuộc Maven nào được yêu cầu? Add com.groupdocs:groupdocs-watermark to your pom.xml.
  • Tôi có thể giới hạn tìm kiếm chỉ trong một sheet không? Yes, configure SpreadsheetLoadOptions with the sheet name.
  • API có an toàn đa luồng không? All public methods are safe for concurrent use after proper initialization.

ImageDctHashSearchCriteria định nghĩa hàm băm DCT được sử dụng để so sánh hình ảnh. SpreadsheetSearchableObjects.AttachedImages giới hạn việc tìm kiếm chỉ ở các hình ảnh nhúng.

“how to search images” là gì trong ngữ cảnh của GroupDocs.Watermark?

“How to search images” đề cập đến việc xác định vị trí các đối tượng hình ảnh nhúng trong tài liệu một cách lập trình bằng Watermarker API. Thư viện sẽ quét mỗi worksheet, trích xuất các đối tượng hình ảnh, tính toán hàm băm Discrete Cosine Transform (DCT) của chúng, và so sánh với hàm băm của hình ảnh mục tiêu, trả về bất kỳ kết quả trùng khớp nào dưới dạng đối tượng watermark có thể được xử lý tiếp.

Tại sao nên sử dụng GroupDocs.Watermark cho việc tìm kiếm hình ảnh trong Excel?

GroupDocs.Watermark hỗ trợ hơn 50 định dạng đầu vào và đầu ra—bao gồm XLSX, XLS, CSV và ODS—trong khi xử lý các workbook hàng trăm trang mà không cần tải toàn bộ tệp vào bộ nhớ. Thuật toán DCT‑hash của nó xác định các hình ảnh tương tự về mặt hình ảnh với độ chính xác > 95 %, giảm đáng kể các kết quả dương tính giả. Ngoài ra, thư viện cung cấp truy cập dạng streaming, cho phép làm việc với các tệp lớn hơn bộ RAM khả dụng, và hỗ trợ tích hợp cho các workbook được bảo mật bằng mật khẩu, làm cho nó phù hợp với các pipeline tự động hoá cấp doanh nghiệp.

Yêu cầu trước

Trước khi bắt đầu, hãy chắc chắn rằng bạn có:

  • Java Development Kit (JDK) 8+ đã được cài đặt và cấu hình trong PATH của bạn.
  • Maven để quản lý phụ thuộc (hoặc bạn có thể tải các JAR thủ công).
  • Một giấy phép GroupDocs.Watermark (thử nghiệm, tạm thời hoặc vĩnh viễn) để mở khóa API tìm kiếm.
  • Kiến thức cơ bản về các collection của Java và xử lý ngoại lệ.

Thư viện và phụ thuộc cần thiết

Để làm việc với GroupDocs.Watermark Java, thiết lập môi trường với Maven hoặc tải các thư viện cần thiết. Đảm bảo bạn có:

  • Cấu hình Maven: Thêm repository của GroupDocs và phụ thuộc vào pom.xml của bạn.
  • Java Development Kit (JDK): Yêu cầu phiên bản 8 trở lên.

Yêu cầu thiết lập môi trường

Đảm bảo Java đã được cài đặt đúng cách trên hệ thống của bạn, cùng với Maven để quản lý phụ thuộc nếu bạn chọn phương pháp cài đặt này.

Kiến thức nền tảng cần có

Hiểu biết cơ bản về lập trình Java và quen thuộc với việc xử lý các tệp Excel một cách lập trình sẽ rất hữu ích. Nếu bạn mới với những khái niệm này, hãy cân nhắc tìm hiểu các tài nguyên nhập môn trước.

Làm thế nào để thiết lập GroupDocs.Watermark cho Java?

Tải dự án Maven của bạn, thêm phụ thuộc và khởi tạo Watermarker với các cài đặt phù hợp. Quy trình hai bước này giúp bạn sẵn sàng bắt đầu tìm kiếm. Đầu tiên, thêm repository và phụ thuộc Maven vào pom.xml, sau đó tạo một thể hiện Watermarker bằng cách truyền đường dẫn tệp Excel và một đối tượng WatermarkLoadOptions xác định sheet mong muốn và các cài đặt tìm kiếm. SpreadsheetLoadOptions cho phép bạn chỉ định các sheet cần tải và cấu hình các tùy chọn tìm kiếm như độ nhạy chữ hoa/thường. Watermarker là điểm vào chính để tải tài liệu và thực hiện các thao tác tìm kiếm hoặc watermark.

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

Cách tải tệp Excel java với các cài đặt tìm kiếm cụ thể?

Tải workbook đồng thời chỉ định thư viện chỉ tìm kiếm các hình ảnh đính kèm. Cách tiếp cận tập trung này giảm thời gian xử lý lên tới 30 % cho các bảng tính thông thường.

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

Cách cấu hình tìm kiếm để chỉ nhắm vào các hình ảnh đính kèm?

enum SpreadsheetSearchableObjects cho phép bạn chỉ định chính xác những gì cần quét. Đặt nó thành AttachedImages sẽ giới hạn engine chỉ vào các đối tượng hình ảnh, bỏ qua văn bản, công thức hoặc biểu đồ.

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

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

Cách thực hiện tìm kiếm hình ảnh bằng tiêu chí hàm băm DCT?

Phương pháp DCT‑hash tạo ra một dấu vân tay gọn nhẹ của hình ảnh tham chiếu và so sánh nó với mỗi hình ảnh nhúng, trả về các kết quả trùng khớp với độ tương đồng hình ảnh cao.

import com.groupdocs.watermark.Watermarker;

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

Cách định nghĩa tiêu chí tìm kiếm hàm băm DCT?

ImageDctHashSearchCriteria bao gồm hình ảnh tham chiếu và ngưỡng tương đồng tùy chọn. Bạn có thể điều chỉnh ngưỡng (0‑100) để thắt chặt hoặc nới lỏng việc khớp.

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

Cách chạy tìm kiếm và xử lý kết quả?

Gọi watermarker.search(criteria) sẽ trả về một tập hợp các đối tượng Watermark. Duyệt qua tập hợp để lấy số trang, địa chỉ ô, hoặc để thay thế hình ảnh.

import com.groupdocs.watermark.search.ImageDctHashSearchCriteria;

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

Ứng dụng thực tiễn

Dưới đây là một số kịch bản thực tế mà các tính năng này tỏa sáng:

  1. Document Management Systems: Tự động lập chỉ mục và gắn thẻ các bảng tính dựa trên logo hoặc ảnh sản phẩm được nhúng.
  2. Data Auditing: Xác minh rằng dữ liệu hình ảnh (biểu đồ, ảnh chụp màn hình) không bị thay đổi bằng cách so sánh hàm băm DCT qua các phiên bản.
  3. Content Verification: Đảm bảo chỉ có các tài sản thương hiệu được ủy quyền xuất hiện trong báo cáo tài chính hoặc bản thuyết trình marketing.

Các cân nhắc về hiệu năng

Để giữ cho ứng dụng của bạn nhanh chóng:

  • Giới hạn tìm kiếm chỉ ở AttachedImages; điều này giảm mức sử dụng CPU trung bình khoảng ~30 %.
  • Xử lý các tệp lớn theo từng phần bằng cách tải các sheet riêng lẻ thay vì toàn bộ workbook.
  • Tái sử dụng WatermarkerSettings cho nhiều lần tìm kiếm để tránh tạo đối tượng lặp lại.
  • Giám sát bộ nhớ bằng công cụ profiling của Java; thư viện streaming dữ liệu, nhưng các hình ảnh rất lớn vẫn có thể ảnh hưởng đến việc sử dụng heap.

Các vấn đề thường gặp và giải pháp

Triệu chứngNguyên nhân khả dĩCách khắc phục
Không có kết quả trả vềĐối tượng tìm kiếm được đặt thành NoneĐặt SpreadsheetSearchableObjects.AttachedImages.
OutOfMemoryError trên tệp 500 trangToàn bộ workbook được tải vào bộ nhớSử dụng SpreadsheetLoadOptions với setLoadAllSheets(false) và tải các sheet riêng lẻ.
Kết quả dương tính giả trong so sánh hàm bămNgưỡng quá thấp (ví dụ, 30)Tăng ngưỡng tương đồng lên 80‑90 để khớp chặt hơn.

Câu hỏi thường gặp

Q: GroupDocs.Watermark có thể đọc những định dạng tệp nào cho Excel?
A: Nó hỗ trợ XLSX, XLS, CSV và ODS, xử lý cả cấu trúc workbook cổ điển và hiện đại.

Q: Tôi có thể tìm kiếm các hình ảnh không được đính kèm (ví dụ, các hình dạng nổi) không?
A: Có, bằng cách đặt SpreadsheetSearchableObjects.All bạn có thể bao gồm các hình ảnh nổi, biểu đồ và các đối tượng vẽ khác.

Q: Độ chính xác của việc so sánh hàm băm DCT như thế nào?
A: Thuật toán đạt > 95 % phát hiện tương đồng cho các hình ảnh được thay đổi kích thước hoặc màu sắc nhẹ, làm cho nó lý tưởng cho việc kiểm tra thương hiệu.

Q: Có thể tự động thay thế các hình ảnh đã tìm thấy không?
A: Chắc chắn. Sau khi xác định được một Watermark, gọi watermarker.replace(watermark, newImagePath) để thay thế đồ họa.

Q: Thư viện có hoạt động trên các container Linux không?
A: Có, GroupDocs.Watermark là thuần Java và chạy trên bất kỳ nền tảng nào có JRE tương thích, bao gồm các container Linux dựa trên Docker.

Kết luận

Trong hướng dẫn này, chúng tôi đã trình bày cách tìm kiếm hình ảnh trong các workbook Excel bằng GroupDocs.Watermark Java, từ thiết lập môi trường đến thực hiện tìm kiếm dựa trên DCT‑hash. Bằng cách giới hạn việc quét chỉ ở các hình ảnh đính kèm và tận dụng so sánh hàm băm mạnh mẽ, bạn có thể tăng tốc đáng kể quy trình xác minh hình ảnh đồng thời duy trì độ chính xác cao. Tiếp theo, hãy khám phá khả năng thêm watermark của thư viện hoặc tích hợp logic tìm kiếm vào một pipeline xử lý tài liệu lớn hơn.


Cập nhật lần cuối: 2026-06-01
Đã kiểm tra với: GroupDocs.Watermark 23.12 cho Java
Tác giả: GroupDocs

Tài nguyên

import com.groupdocs.watermark.PossibleWatermarkCollection;

PossibleWatermarkCollection possibleWatermarks = watermarker.search(criteria);

Tài nguyên

Hướng dẫn liên quan