GroupDocs.Redaction for .NETでHTML用語をハイライトする方法

HTML要素をハイライトする方法が必要な場合—機密データを赤線で隠すためでも、単にキーワードを強調するためでも—GroupDocs.Redaction for .NET を使用すれば作業は簡単です。このガイドでは、ライブラリの設定方法、区切り文字の特定方法、そして大きなHTMLファイルでも効率的にハイライトを適用する方法を紹介します。最後まで読むと、任意の .NET プロジェクトに適用できる再利用可能なパターンが手に入ります。

クイック回答

  • どのライブラリがハイライトを処理しますか? GroupDocs.Redaction for .NET (解析には Aspose.HTML を使用)。
  • 開発にライセンスは必要ですか? テストには無料トライアルで動作しますが、本番環境ではフルライセンスが必要です。
  • 大きなHTMLファイルを処理できますか? はい、メモリ使用量を抑えるためにチャンク単位で処理できます。
  • 大文字小文字の区別は設定可能ですか? もちろんです。検索時に isCaseSensitive フラグを設定します。
  • サポートされている .NET バージョンは? .NET Framework 4.6.1 以上、.NET Core 3.1 以上、そして .NET 5/6。

HTMLをハイライトする方法とは?

HTMLをハイライトする方法 は、HTMLドキュメント内の特定の単語やフレーズに対して、プログラムで視覚的なマークアップ(例: CSS を使用した <span>)を適用することを指します。GroupDocs.Redaction を使用すると、用語を検出し、ハイライトスタイルでラップし、必要に応じて同時にレダクションも行えます。

このタスクにGroupDocs Redaction .NETを使用する理由

GroupDocs.Redaction .NET は 30 以上の入力・出力フォーマット をサポートし、ストリーミングアーキテクチャにより HTML ファイルを最大 500 MB までメモリに全体を読み込まずに処理できます。この数値化された能力により、エンタープライズ規模のワークロードでも予測可能なパフォーマンスが保証され、実装はシンプルに保たれます。

前提条件

  • 必要なライブラリ: GroupDocs.Redaction, Aspose.HTML
  • 開発環境: Visual Studio 2019 以降、.NET Framework 4.6.1 以降
  • 基本知識: C# の構文、HTML DOM の概念

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

  • GroupDocs.Redaction (.NET 用)
  • Aspose.HTML (ドキュメント処理用)

環境設定要件

  • Visual Studio 2019 以降。
  • .NET Framework 4.6.1 以降。

知識の前提条件

  • C# プログラミングの基本的な理解。
  • HTML の構造と概念に関する知識。

GroupDocs.Redaction for .NET の設定

議論した機能を実装するには、まず開発環境に GroupDocs.Redaction を設定する必要があります。

Installation
以下のいずれかの方法で GroupDocs.Redaction をインストールできます:

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager

Install-Package GroupDocs.Redaction

NuGet Package Manager UI

  • “GroupDocs.Redaction” を検索し、最新バージョンをインストールします。

ライセンス取得

ライセンスを取得すると、すべての機能が利用可能になり、トライアルの透かしが削除されます。オプションとして、無料トライアル、一時的な評価ライセンス、または購入した本番ライセンスがあります。

Redaction エンジンの初期化

Redactor クラスは、ドキュメントに対するレダクションおよびハイライト操作を実行するための主要エントリーポイントです。パッケージを参照したら、コア API を初期化します:

using GroupDocs.Redaction;

var redactor = new Redactor("path/to/document");

実装ガイド

実装を以下のステップに分解します。

GroupDocs.Redaction を使用して HTML 用語をハイライトする方法

HTML をロードし、区切りマップを作成し、2 つの簡潔なステップでハイライトを適用します。直接的な答えは次のとおりです:Boolean の区切り配列を作成し、Aspose.HTML で HTML をロードし、各用語またはフレーズに対して Redactor.Highlight を呼び出す—手動で DOM を走査する必要はありません。 このアプローチはドキュメントサイズに対して線形時間で実行され、メモリ使用量を最小限に抑えます。

ステップ 1: ライブラリのインストール

以下のいずれかの方法で GroupDocs.Redaction をインストールできます:

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager

Install-Package GroupDocs.Redaction

NuGet Package Manager UI

  • “GroupDocs.Redaction” を検索し、最新バージョンをインストールします。

ステップ 2: ライセンスの取得と適用

ライセンスを取得すると、すべての機能が利用可能になり、トライアルの透かしが削除されます。オプションとして、無料トライアル、一時的な評価ライセンス、または購入した本番ライセンスがあります。

ステップ 3: Redaction エンジンの初期化

Redactor クラスは、ドキュメントに対するレダクションおよびハイライト操作を実行するための主要エントリーポイントです。パッケージを参照したら、コア API を初期化します:

using GroupDocs.Redaction;

var redactor = new Redactor("path/to/document");

機能 1: 文字種識別

文字種識別とは?

isSeparator は、カスタムアルファベット内の各文字を区切り文字(例: スペース、句読点)または単語の一部としてマークする Boolean 配列です。この分類により、HTML テキストノード全体で正確な用語検出が可能になります。

Boolean 配列はどのように機能しますか?

この配列はセッションごとに一度だけ生成され、その後すべての検索で再利用されるため、検索ごとのオーバーヘッドが O(1) のルックアップに削減されます。

var isSeparator = new bool[1 << 16];
for (int i = 0; i < isSeparator.Length; i++)
{
    char character = (char)i;
    var type = alphabet.GetCharacterType(character);
    isSeparator[i] = type == CharacterType.Separator || type == CharacterType.Blended;
}

機能 2: HTML ドキュメントの処理とハイライト

ハイライト処理はどのように機能しますか?

ライブラリは HTML を DOM に解析し、テキストノードを走査して、一致する用語を CSS ハイライトスタイルを適用した <span> でラップします。大文字小文字の区別を制御したり、カスタム用語リストを提供したりできます。

HTML ドキュメントのロード

Aspose.HTML の HtmlDocument クラスは HTML ファイルを表し、DOM のロード、走査、保存のためのメソッドを提供します。

using (var document = new HTMLDocument(pageData, string.Empty))
{
    var characterHolder = new CharacterHolder();
    var textSource = new TextSource(characterHolder, isSeparator, document);
    var superFinder = new SuperFinder(characterHolder, isCaseSensitive, terms, phrases);

    while (true)
    {
        bool success = textSource.ReadCharacter();
        if (!success) { break; }
        superFinder.HandleCharacter();
    }

    superFinder.Flush();
    superFinder.HighlightFoundWords();

    return document.DocumentElement.OuterHTML;
}
  • パラメータ:

    • pageData: 生の HTML 文字列。
    • isCaseSensitive: true / false フラグ。
    • alphabet, terms, phrases: カスタム設定。
  • 目的: 指定された単語やフレーズをハイライトして文書を効率的に処理し、可読性と情報検索を向上させます。

よくある問題と解決策

  • 不正な HTML: HtmlLoadOptions を使用して寛容なパースを有効にします。
  • 大きなファイルでのメモリスパイク: ドキュメントをチャンク単位で処理するか、HtmlDocument.Save をストリーミングで使用します。
  • ハイライトが欠落: 区切り配列が用語で使用される句読点を正しく識別しているか確認してください。

実用的な活用例

  1. 機密情報のレダクション: 法的契約書内の個人データをハイライトし、次にレダクションします。
  2. マーケティング資料でのキーワード強調: 主要な製品名を強調してクリック率を向上させます。
  3. 文書レビューシステム: 即時の視覚的ヒントで手動レビューを高速化します。
  4. 教育ツール: 学習者向けに定義や重要概念をハイライトします。
  5. CMS 統合: コンテンツ管理パイプラインに動的ハイライトを追加し、SEO を向上させます。

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

  • メモリ使用量の最適化: 処理完了後すぐに HtmlDocument と Redactor オブジェクトを破棄します。
  • バッチ処理: HTML ファイルのコレクションをループし、同じ区切り配列を再利用して再割り当てを回避します。
  • 検索アルゴリズムの効率性: GroupDocs.Redaction は Boyer‑Moore 類似の検索を使用し、単純な文字列走査に比べて平均検索時間を最大 40 % 短縮します。

結論

これで、GroupDocs.Redaction for .NET を使用して HTML をハイライトする方法 を、ライブラリのインストールから文字種識別、高性能ハイライトまで理解できました。これらのパターンを活用して、.NET アプリケーション内の任意の HTML コンテンツを保護、注釈付け、または強化してください。

Next steps

  • GroupDocs ドキュメント で高度な機能を探求してください。
  • 詳細なレダクションガイダンスは、GroupDocs Redaction Documentation を参照してください。
  • ブランドに合わせて、さまざまな用語リストや CSS スタイルを試してください。
  • 機能拡張に関するサポートやアイデアは、コミュニティフォーラムに参加してください。
  • さらに API の詳細は、GroupDocs API Reference を参照してください。
  • 追加のコード例は、API Reference をご覧ください。

最終更新日: 2026-08-20
テスト環境: GroupDocs.Redaction 23.12 for .NET, Aspose.HTML 23.5
作者: GroupDocs

関連チュートリアル