.NET アプリケーションが Windows で動作する場合、GroupDocs.Redaction for .NET の Windows 向けビルドを使用できます。このチュートリアルでは、net10.0-windows を対象とする .NET 10 コンソールアプリケーションを作成し、正規表現で Word 文書内の語句を墨消しして、墨消し後の文書を保存する方法を示します。

完成したプロジェクトは GitHub で入手できます。

1. Windows 向けの .NET コンソールプロジェクトを作成する

Visual Studio または .NET CLI でプロジェクトを作成できます。プロジェクトの対象は net10.0-windows にする必要があります。このターゲットフレームワークでは、NuGet が Windows 向けの GroupDocs.Redaction.Net100.Windows アセンブリを復元します。このビルドには Windows 固有の依存関係が含まれます。

-windows サフィックスのない net10.0 を対象とするプロジェクトは、クロスプラットフォームビルドを使用します。

Visual Studio を使う場合

新しいコンソールアプリを作成し、ターゲットフレームワークに .NET 10.0 を選びます。プロジェクト作成後、プロジェクトファイルを開き、ターゲットフレームワークを次のように設定します。

<TargetFramework>net10.0-windows</TargetFramework>

.NET CLI を使う場合

.NET 10 コンソールアプリケーションを作成し、プロジェクトディレクトリを開きます。

dotnet new console -n WindowsSpecificRedaction -f net10.0
cd WindowsSpecificRedaction

次に、WindowsSpecificRedaction.csproj で同じターゲットフレームワークを設定します。

<TargetFramework>net10.0-windows</TargetFramework>

この時点のプロジェクトファイルは次のとおりです。

WindowsSpecificRedaction/
├── WindowsSpecificRedaction.csproj
└── Program.cs

2. GroupDocs.Redaction 26.10 をインストールする

Visual Studio または .NET CLI で GroupDocs.Redaction for .NET 26.10.0 を追加します。

Visual Studio を使う場合

  1. ソリューションエクスプローラー でプロジェクトを右クリックします。
  2. NuGet パッケージの管理 を選びます。
  3. GroupDocs.Redaction を検索し、バージョン 26.10.0 をインストールします。

.NET CLI を使う場合

プロジェクトディレクトリで次のコマンドを実行します。

dotnet add package GroupDocs.Redaction --version 26.10.0

このパッケージは、文書の読み込みと保存を行う Redactor クラス、正規表現の一致を墨消しする RegexRedaction、有効なライセンスが適用されているかを確認する License.IsLicensed プロパティを提供します。

3. Word ファイルを追加する

Word 文書をプロジェクトディレクトリに置き、次の名前にします。

document.docx

プロジェクトファイルで、文書をビルド出力ディレクトリにコピーするよう設定します。

<ItemGroup>
  <None Update="document.docx">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </None>
</ItemGroup>

サンプル文書には語句 essential tool が含まれています。アプリケーションは一致する語句を置き換え、document_Redacted.docx を作成します。元の document.docx はそのまま残ります。

4. 墨消しのコードを追加する

Program.cs を開き、内容を次のコードに置き換えます。

using GroupDocs.Redaction;
using GroupDocs.Redaction.Options;
using GroupDocs.Redaction.Redactions;
using System.Text.RegularExpressions;

var license = new License();
// license.SetLicense("your_license_path");

if (!license.IsLicensed)
{
    Console.WriteLine("The library is running in evaluation mode. Some limitations may apply.");
}

using (Redactor redactor = new Redactor("document.docx"))
{
    var regex = new Regex(@"\s+essential tool", RegexOptions.IgnoreCase);
    redactor.Apply(new RegexRedaction(regex, new ReplacementOptions(" [redacted]")));

    var saveOptions = new SaveOptions() { AddSuffix = true, RasterizeToPDF = false };
    var outputFile = redactor.Save(saveOptions);

    Console.WriteLine($"File saved to {outputFile}.");
}

License.IsLicensed プロパティは、SetLicense が有効なライセンスを読み込むまで false を返します。ライセンスモードで実行するには、SetLicense の呼び出しのコメントを外し、ライセンスファイルのパスを指定します。

正規表現 \s+essential tool は、1 文字以上の空白に続く語句 essential tool に一致します。検索は大文字と小文字を区別しないため、Essential Tool にも一致します。語句の前の空白を含む各一致は [redacted] に置き換えられます。

RasterizeToPDF プロパティは false なので、文書は Word 形式のままです。AddSuffix プロパティは true なので、出力ファイルは接尾辞 Redacted 付きで保存されます。

document_Redacted.docx

Save メソッドは、保存したファイルのパスを返します。

5. アプリケーションを実行する

Visual Studio を使う場合

  1. WindowsSpecificRedaction.slnx またはプロジェクトファイルを開きます。
  2. デバッグするには F5、デバッグなしで実行するには Ctrl+F5 を押します。

Visual Studio から実行する場合、作業ディレクトリは通常ビルド出力ディレクトリです。墨消し後のファイルは次の場所に保存されます。

bin\Debug\net10.0-windows\document_Redacted.docx

.NET CLI を使う場合

プロジェクトディレクトリで次のコマンドを実行します。

dotnet run

dotnet run を使う場合、作業ディレクトリはプロジェクトディレクトリです。アプリケーションはこのディレクトリから document.docx を読み、document_Redacted.docx を同じ場所に保存します。

6. 墨消し後の文書を確認する

document_Redacted.docx を開きます。語句 essential tool は [redacted] に置き換えられているはずです。元の document.docx は変更されません。

正規表現と置換テキストを変えることで、同じプロジェクトで他の語句も墨消しできます。

ライセンス

ライセンスがない場合、GroupDocs.Redaction for .NET 26.10 は評価モードで動作します。1 つのプロセスで開ける文書は最大 25 件です。さらに文書を開こうとすると TrialLimitationsException がスローされます。保存した文書の各ページ上部に試用バッジが追加されます。

一時ライセンスは GroupDocs の一時ライセンスページ で入手できます。恒久ライセンスは GroupDocs の購入ページ で入手できます。

関連情報