Когда приложение .NET запускается в Windows, оно может использовать сборку GroupDocs.Redaction for .NET, специфичную для Windows. В этом руководстве показано, как создать консольное приложение .NET 10, целевое для net10.0-windows, замаскировать фразу в документе Word с помощью регулярного выражения и сохранить замаскированный документ.

Полная рабочая версия проекта доступна на GitHub.

1. Создание консольного проекта .NET для Windows

Проект можно создать в Visual Studio или с помощью .NET CLI. Проект должен целиться в net10.0-windows. NuGet восстанавливает сборку GroupDocs.Redaction.Net100.Windows, специфичную для Windows, для этой целевой платформы. Эта сборка включает зависимости, специфичные для Windows.

Проекты, целящиеся в net10.0 без суффикса -windows, используют кроссплатформенную сборку.

Использование 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

Добавьте GroupDocs.Redaction for .NET 26.10.0 через Visual Studio или .NET CLI.

Использование Visual Studio

  1. Щёлкните правой кнопкой мыши по проекту в Solution Explorer.
  2. Выберите Manage NuGet Packages.
  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 возвращает false, пока SetLicense не загрузит действующую лицензию. Раскомментируйте вызов SetLicense и укажите путь к вашему файлу лицензии, чтобы запустить приложение в лицензированном режиме.

Регулярное выражение \s+essential tool ищет один или несколько пробельных символов, за которыми следует фраза 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 работает в режиме оценки. Один процесс может открыть до 25 документов. Попытка открыть ещё один документ вызывает TrialLimitationsException. На каждой странице сохранённых документов вверху добавляются значки пробной версии.

Временная лицензия доступна на странице временных лицензий GroupDocs. Постоянная лицензия доступна на странице покупки GroupDocs.

Узнать больше