Excelで画像を検索する方法(GroupDocs.Watermark Java)

Excelブック内の特定の画像を検索するのは手間がかかります。特に大きなファイルや多数の埋め込み画像を扱う場合はなおさらです。How to search images は、ドキュメントワークフローを自動化するすべての人にとって重要な課題となります。本ガイドでは、GroupDocs.Watermark Java を使用して Excel スプレッドシート内の画像を検索する方法を正確に示すとともに、load Excel file java プロジェクトを効率的にロードするための重要な手順もカバーします。

クイック回答

  • 埋め込み画像を見つける最速の方法は何ですか? ImageDctHashSearchCriteria と SpreadsheetSearchableObjects.AttachedImages を使用します。
  • 特別なライセンスが必要ですか? 一時的またはトライアルライセンスでフル検索機能が有効になります。
  • 必要な Maven 依存関係はどれですか? pom.xml に com.groupdocs:groupdocs-watermark を追加します。
  • 検索を単一シートに限定できますか? はい、シート名で SpreadsheetLoadOptions を設定します。
  • API はスレッドセーフですか? 適切に初期化すれば、すべての公開メソッドは同時使用に安全です。

ImageDctHashSearchCriteria は画像比較に使用される DCT ハッシュを定義します。SpreadsheetSearchableObjects.AttachedImages は検索対象を埋め込み画像のみに限定します。

GroupDocs.Watermark のコンテキストで「how to search images」とは何ですか?

“How to search images” は、Watermarker API を使用してドキュメント内の埋め込み画像オブジェクトをプログラム的に検索することを指します。ライブラリは各ワークシートを走査し、画像オブジェクトを抽出して離散コサイン変換(DCT)ハッシュを計算し、対象画像のハッシュと比較します。一致が見つかると、さらに処理できるウォーターマークオブジェクトとして返されます。

Excel 画像検索に GroupDocs.Watermark を使用する理由

GroupDocs.Watermark は 50 以上の入力・出力フォーマット(XLSX、XLS、CSV、ODS など)をサポートし、ファイル全体をメモリにロードせずに数百ページに及ぶブックを処理できます。DCT ハッシュアルゴリズムは視覚的に類似した画像を 95 % 以上の精度で識別し、偽陽性を大幅に削減します。さらに、ストリーミングアクセスを提供し、利用可能な RAM を超えるサイズのファイルでも扱え、パスワード保護されたブックへの組み込みサポートもあるため、エンタープライズレベルの自動化パイプラインに適しています。

前提条件

開始する前に、以下が揃っていることを確認してください。

  • Java Development Kit (JDK) 8+ がインストールされ、PATH に設定されていること。
  • Maven が依存関係管理に利用できること(または JAR を手動でダウンロード)。
  • GroupDocs.Watermark ライセンス(トライアル、一時、または永続)で検索 API を有効化できること。
  • Java コレクションと例外処理の基本的な知識。

必要なライブラリと依存関係

GroupDocs.Watermark Java を使用するには、Maven で環境を設定するか、必要なライブラリをダウンロードしてください。以下を確認してください。

  • Maven 設定: GroupDocs リポジトリと依存関係を pom.xml に追加します。
  • Java Development Kit (JDK): バージョン 8 以上が必要です。

環境設定要件

システムに Java が正しくインストールされていること、そしてこのインストール方法を選択する場合は Maven が依存関係管理に利用できることを確認してください。

知識の前提条件

Java プログラミングの基本的な理解と、プログラムで Excel ファイルを扱う経験があると役立ちます。これらの概念に不慣れな場合は、まず入門リソースを参照してください。

GroupDocs.Watermark を Java でセットアップする方法

Maven プロジェクトをロードし、依存関係を追加し、適切な設定で Watermarker を初期化します。この 2 段階のプロセスで検索を開始できる状態になります。まず pom.xml に Maven リポジトリと依存関係を追加し、次に Excel ファイルのパスと、対象シートと検索設定を指定する WatermarkLoadOptions オブジェクトを渡して Watermarker インスタンスを作成します。SpreadsheetLoadOptions を使用すると、ロードするシートを指定し、ケースセンシティブなどの検索オプションを構成できます。Watermarker はドキュメントのロードや検索・ウォーターマーク操作のメインエントリーポイントです。

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

特定の検索設定で Excel ファイル(java)をロードする方法

ブックをロードし、ライブラリに添付画像のみを対象とするよう指示します。この絞り込みにより、一般的なスプレッドシートの処理時間が最大 30 % 短縮されます。

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

検索を添付画像のみに対象とする設定方法

SpreadsheetSearchableObjects 列挙型を使用すると、スキャン対象を正確に指定できます。AttachedImages に設定すると、エンジンは画像オブジェクトのみに限定され、テキスト、数式、チャートは無視されます。

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

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

DCT ハッシュ基準を使用した画像検索の実行方法

DCT ハッシュ方式は、参照画像のコンパクトな指紋を作成し、埋め込み画像それぞれと比較して、視覚的に高い類似性を持つ一致を返します。

import com.groupdocs.watermark.Watermarker;

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

DCT ハッシュ検索基準の定義方法

ImageDctHashSearchCriteria は参照画像とオプションの類似度閾値をカプセル化します。閾値(0‑100)を調整してマッチングの厳しさを変えることができます。

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

検索を実行し結果を処理する方法

watermarker.search(criteria) を呼び出すと、Watermark オブジェクトのコレクションが返されます。コレクションを反復処理してページ番号やセルアドレスを取得したり、画像を置換したりできます。

import com.groupdocs.watermark.search.ImageDctHashSearchCriteria;

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

実用的な応用例

以下は、これらの機能が活躍する実際のシナリオです。

  1. ドキュメント管理システム: 埋め込みロゴや製品写真に基づいてスプレッドシートを自動的にインデックス付けおよびタグ付けします。
  2. データ監査: バージョン間で DCT ハッシュを比較し、視覚データ(チャート、スクリーンショット)が改ざんされていないか確認します。
  3. コンテンツ検証: 財務レポートやマーケティング資料に、許可されたブランド資産のみが表示されていることを保証します。

パフォーマンス上の考慮点

アプリケーションを高速に保つために:

  • 検索範囲 を AttachedImages のみとすることで、平均約 30 % の CPU 使用率削減が期待できます。
  • 大きなファイル は、全ブックをロードせずにシート単位で分割して処理します。
  • 複数の検索で WatermarkerSettings を再利用し、オブジェクト生成の繰り返しを防ぎます。
  • Java のプロファイリングツールでメモリを監視します。ライブラリはデータをストリーミングしますが、非常に大きな画像はヒープ使用量に影響する可能性があります。

よくある問題と解決策

症状考えられる原因解決策
結果が返されない検索対象オブジェクトが None に設定されているSpreadsheetSearchableObjects.AttachedImages を設定します。
500 ページのファイルで OutOfMemoryErrorブック全体がメモリにロードされているsetLoadAllSheets(false) を使用した SpreadsheetLoadOptions を使い、シートを個別にロードします。
ハッシュ比較で偽陽性が出る閾値が低すぎる(例: 30)より厳密にするため、類似度閾値を 80‑90 に上げます。

よくある質問

Q: GroupDocs.Watermark が Excel 用に読み取れるファイル形式は何ですか?
A: XLSX、XLS、CSV、ODS をサポートし、レガシーおよび最新のブック構造の両方を処理します。

Q: 添付されていない画像(例: 浮動形状)も検索できますか?
A: はい、SpreadsheetSearchableObjects.All を設定すれば、浮動画像、チャート、その他の描画オブジェクトも含めて検索できます。

Q: DCT ハッシュマッチングの精度はどの程度ですか?
A: アルゴリズムは、サイズ変更やわずかに色が変わった画像でも 95 % 超の類似度検出を実現し、ブランドチェックに最適です。

Q: 見つかった画像を自動的に置換できますか?
A: もちろんです。Watermark を特定した後、watermarker.replace(watermark, newImagePath) を呼び出して画像を差し替えます。

Q: ライブラリは Linux コンテナ上で動作しますか?
A: はい、GroupDocs.Watermark は純粋な Java で、互換性のある JRE があれば Docker ベースの Linux コンテナを含むあらゆるプラットフォームで動作します。

結論

本チュートリアルでは、環境設定から DCT ハッシュベースの検索実行まで、GroupDocs.Watermark Java を使用して Excel ブック内の 画像検索 方法を解説しました。検索対象を添付画像に限定し、強力なハッシュ比較を活用することで、画像検証ワークフローを大幅に高速化しつつ高精度を維持できます。次は、ライブラリのウォーターマーク追加機能を試すか、検索ロジックをより大規模なドキュメント処理パイプラインに統合してください。


最終更新日: 2026-06-01
テスト環境: GroupDocs.Watermark 23.12 for Java
作者: GroupDocs

リソース

import com.groupdocs.watermark.PossibleWatermarkCollection;

PossibleWatermarkCollection possibleWatermarks = watermarker.search(criteria);

リソース

関連チュートリアル