.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 を使う場合
- ソリューションエクスプローラー でプロジェクトを右クリックします。
- NuGet パッケージの管理 を選びます。
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 を使う場合
WindowsSpecificRedaction.slnxまたはプロジェクトファイルを開きます。- デバッグするには 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 の購入ページ で入手できます。