Szablony są szeroko stosowane do generowania niestandardowych dokumentów. Ten artykuł zawiera wskazówki dotyczące znajdowania i zastępowania tekstu i wyrazów w dokumentach PDF przy użyciu języka C#. Osobno omówimy, jak programowo zastępować słowa i frazy, zastępować słowa wyszukiwaniem z rozróżnianiem wielkości liter, zastępować za pomocą wyrażeń regularnych. Na koniec nauczymy się również, jak ukryć szukany ciąg za pomocą C#.

Poniżej zostaną omówione następujące tematy:

Interfejs API redakcji platformy .NET do zastępowania tekstu

GroupDocs prezentuje GroupDocs.Redaction for .NET, interfejs API do redagowania, ukrywania lub usuwania treści, a nawet metadanych dokumentów, prezentacji, arkuszy kalkulacyjnych, plików PDF i obrazów w aplikacji .NET. Więcej informacji na temat interfejsu API można znaleźć w jego dokumentacji.

Możesz pobrać pliki DLL lub instalator MSI z sekcji pobierania lub zainstalować interfejs API w swojej aplikacji .NET za pośrednictwem [NuGet](https://www.nuget.org /packages/groupdocs.redaction).

PM> Install-Package GroupDocs.Redaction

Nie ma potrzeby instalowania żadnego edytora PDF ani żadnego innego oprogramowania innych firm do redagowania. Poniżej znajduje się zrzut ekranu dokumentu PDF, który jest używany w poniższych przykładach. To samo podejście będzie działać w przypadku innych formatów dokumentów z niewielkimi lub żadnymi zmianami w kodzie.

Znajdź i zamień słowo lub frazę w PDF przy użyciu C#

Możesz użyć tej funkcji, aby ukryć wszelkie poufne dane, a także utworzyć nowy, dostosowany dokument z szablonu. Poniższy krok wyjaśnia, jak znaleźć dowolne słowo/frazę w dokumencie PDF z innym tekstem w aplikacji C#.

Poniższy kod znajduje i zastępuje słowo w języku C#. Dokładniej, ukrywa wszystkie wystąpienia „John Doe”, zastępując je słowem „[ocenzurowane]”.

// Znajdź dokładną frazę i zastąp ją innym tekstem za pomocą C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

Dane wyjściowe kodu są następujące.

Znajdź i zamień tekst lub frazę z rozróżnianiem wielkości liter w pliku PDF przy użyciu języka C#

Możesz przeprowadzić wyszukiwanie i redagowanie z uwzględnieniem wielkości liter. Poniższy kod zastępuje rozróżnianą wielkość liter istnienie słowa “John Doe”, ale nie “John Doe” w języku C#.

// Znajdź dokładną frazę (z uwzględnieniem wielkości liter) i zastąp ją innym tekstem za pomocą C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

Dane wyjściowe kodu są następujące.

Zastąp tekst w PDF wyrażeniami regularnymi (RegEx) przy użyciu C#

Możesz także zastąpić dowolny określony wzorzec tekstu za pomocą wyrażeń regularnych. Poniższe kroki umożliwiają redagowanie plików PDF po wyszukiwaniu przy użyciu wyrażeń regularnych (RegEx) w aplikacji .NET.

Poniższy kod pokazuje, jak znaleźć określony wzorzec tekstu w dokumencie PDF za pomocą RegEx, a później zastąpić go/ukryć innym tekstem za pomocą C#.

// Znajdź tekst za pomocą wyrażenia regularnego i zastąp go innym tekstem za pomocą C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

Dane wyjściowe powyższego kodu są następujące.

Zamień tekst na kolorowe pole w C#

Jeśli chcesz tylko ukryć wyszukiwaną treść (prywatne informacje) swojego pliku PDF, możesz po prostu założyć na niego okładkę. API pozwala na ukrycie wyszukiwanego tekstu. Poniższy kod C# umieszcza czarny prostokąt nad wspomnianym tekstem prywatnym.

// Znajdź tekst w PDF i ukryj go, rysując nad nim prostokąt za pomocą C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

Dane wyjściowe powyższego kodu są następujące.

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyliśmy się, jak znaleźć określony tekst w plikach PDF przy użyciu różnych technik wyszukiwania. Później omówiliśmy sposób redagowania plików PDF przez zastępowanie lub ukrywanie tekstu w aplikacji .NET przy użyciu języka C#. Mówiąc dokładniej, po prostu szukaliśmy słów, fraz, wyszukując z uwzględnieniem wielkości liter i używając wyrażeń regularnych w C#. Na koniec zastąpiliśmy wyniki wyszukiwania innym tekstem lub ukryliśmy go za pomocą prostokątnego pola.

Aby uzyskać więcej informacji na temat interfejsu API, odwiedź dokumentację. W przypadku pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też