Нам часто доводиться приховувати конфіденційну та конфіденційну інформацію в документах. В інших статтях ми обговорювали різні стратегії пошуку слів і навіть пошук синонімів у кількох документах. Ця стаття допоможе вам відредагувати текст PDF і текст у зображеннях у документі за допомогою C#.

Нижче будуть розглянуті такі теми:

.NET API для редагування тексту та зображень

GroupDocs.Redaction надає API редагування документів .NET, який дозволяє приховувати та видаляти конфіденційну інформацію в документах різних форматів файлів. Окрім простого редагування та растеризації тексту, API також дозволяє ідентифікувати текст на зображеннях, які могли бути всередині будь-якого документа, наприклад, найчастіше використовуваних сканованих PDF-файлів. Повний список підтримуваних форматів файлів доступний у документації.

Ви можете завантажити DLL або інсталятор MSI із розділу завантажень або встановити API у своїй програмі .NET за допомогою NuGet.

Встановіть через консоль менеджера пакетів

PM> Install-Package GroupDocs.Redaction

Встановіть через диспетчер пакетів NuGet

GroupDocs.Redaction – пакет NuGet – встановлення

Редагування тексту PDF і тексту сканованого зображення за допомогою C#

Існує багато різних способів пошуку та заміни тексту в документах, які вже обговорювалися. Ви можете знайти певні слова в будь-якому документі, знайти з урахуванням регістру або за допомогою регулярних виразів. Я буду використовувати наступний PDF-документ, який містить текст, а також зображення з текстом. Тут ми поєднаємо OCR і процес редагування за допомогою GroupDocs.Redaction for .NET. По-перше, ми визначимо текст у документі, а також текст, який знаходиться всередині зображення документа. По-друге, ми покриємо його чорним ящиком, щоб продемонструвати, як програмно приховати будь-яку юридичну чи конфіденційну інформацію, навіть якщо вона є текстом у відсканованому зображенні документа.

PDF з текстом і сканованим зображенням

У наступних кроках буде виявлено та замінено текст у PDF-документі, який містить звичайний текст разом із текстом у вбудованому зображенні.

  • Підготуйте налаштування редактора за допомогою будь-якого OCR Connector.
  • Завантажте PDF-документ за допомогою класу Redactor із підготовленими налаштуваннями та будь-якими спеціальними параметрами завантаження.
  • Визначте параметр заміни. Я визначив затемнити текст.
  • Для редагування тексту використовуйте відповідну стратегію виділення тексту. Я використовував RegEx.
  • Застосуйте редагування за допомогою методу Apply.
  • Збережіть відредагований документ за допомогою методу Save.

Наступний вихідний код редагує виділений текст у PDF-документі за допомогою C#.

// Відредагуйте текст у PDF і текст у зображенні, як відсканований документ, за допомогою C#
var settings = new RedactorSettings(new AsposeOCRStandaloneConnector(@"LICENSE_PATH"));
using (var redactor = new Redactor(@"path/document.pdf", new LoadOptions(), settings))
{
    var marker = new ReplacementOptions(Color.Black);
    var redactions = new Redaction[] {
        new RegexRedaction(@"(?<=Dear\s+)([^,]+)", marker), // Card Holder Name
        new RegexRedaction(@"\d{2}/\d{2}", marker), // Valid Thru
        new RegexRedaction(@"\d{4}", marker)  // Card Number
    };
    var result = redactor.Apply(redactions);
    if (result.Status != RedactionStatus.Failed)
    {
        redactor.Save(new SaveOptions(false, "OnPremise"));
    }
}

Результатом наведеного вище коду є те, що виділений текст PDF-документа затемнюється.

Відредагуйте текст PDF і текст сканованого зображення

Отримайте безкоштовну ліцензію API

Ви можете отримати безкоштовну тимчасову ліцензію, щоб використовувати API без оціночних обмежень.

Висновок

Підсумовуючи, ви навчилися редагувати текст у документах. Що ще важливіше й точніше, ми обговорили, як редагувати текст у зображеннях у PDF-документі за допомогою C#. Ми вибрали текст для редагування за допомогою регулярних виразів, однак його можна виділити багатьма різними способами, як обговорювалося раніше. Пізніше ми затемнюємо результати пошуку за допомогою чорного прямокутника над шуканим текстом.

Щоб дізнатися більше про API, відвідайте документацію. Якщо у вас виникли запитання, зв’яжіться з нами через форум.

Дивись також