Šablony jsou široce používány pro vytváření přizpůsobených dokumentů. Tento článek popisuje, jak najít a nahradit text a slova v dokumentech PDF pomocí C#. Samostatně budeme diskutovat o tom, jak programově nahrazovat slova a fráze, nahrazování slov vyhledáváním citlivým na velká a malá písmena, nahrazování pomocí regulárních výrazů. Nakonec se také naučíme, jak skrýt hledaný řetězec pomocí C#.

Níže budou popsána následující témata:

.NET Redaction API pro nahrazení textu

GroupDocs představuje GroupDocs.Redaction for .NET, API pro redigování, skrytí nebo odstranění obsahu a dokonce i metadat dokumentů, prezentací, tabulek, souborů PDF a obrázků v rámci aplikace .NET. Další podrobnosti o rozhraní API naleznete v jeho dokumentaci.

Můžete si stáhnout DLL nebo MSI instalační program z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím [NuGet](https://www.nuget.org /packages/groupdocs.redaction).

PM> Install-Package GroupDocs.Redaction

Pro redigování není třeba instalovat žádný editor PDF nebo jakýkoli jiný software třetích stran. Následuje snímek obrazovky dokumentu PDF, který je použit v níže uvedených příkladech. Stejný přístup bude fungovat pro jiné formáty dokumentů se stěží velmi malou nebo žádnou změnou v kódu.

Najít a nahradit slovo nebo frázi v PDF pomocí C#

Tuto funkci můžete použít ke skrytí jakýchkoli důvěrných dat a také k vytvoření nového přizpůsobeného dokumentu ze šablony. Následující krok vysvětluje, jak najít jakékoli slovo/frázi v dokumentu PDF s jiným textem v aplikaci C#.

Následující kód najde a nahradí slovo v C#. Přesněji řečeno, skryje všechny výskyty „John Doe“ tím, že jej nahradí slovem „[censored]“.

// Najděte přesnou frázi a nahraďte ji jiným textem 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 });
}

Výstup kódu je následující.

Vyhledání a nahrazení textu nebo fráze rozlišující malá a velká písmena v PDF pomocí C#

Můžete provádět vyhledávání a redigování rozlišující velká a malá písmena. Následující kód nahrazuje existenci slova „John Doe“, ale nikoli „John Doe“ v C#, rozlišující velká a malá písmena.

// Najděte přesnou frázi (rozlišují se malá a velká písmena) a nahraďte ji jiným textem 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 });
}

Výstup kódu je následující.

Nahradit text v PDF regulárními výrazy (RegEx) pomocí C#

Můžete také nahradit jakýkoli konkrétní textový vzor pomocí regulárních výrazů. Následující kroky vám umožní redigovat PDF po vyhledání pomocí regulárního výrazu (RegEx) ve vaší aplikaci .NET.

Následující kód ukazuje, jak najít určitý textový vzor v dokumentu PDF pomocí RegEx a později jej nahradit/skrýt jiným textem pomocí C#.

// Najděte text pomocí regulárního výrazu a nahraďte jej jiným textem 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 });
}

Výstup výše uvedeného kódu je následující.

Nahraďte text barevným rámečkem v C#

Pokud chcete pouze skrýt hledaný obsah (soukromé informace) vašeho souboru PDF, můžete jej jednoduše překrýt. API umožňuje skrýt hledaný text. Následující kód C# umístí černý obdélník přes zmíněný soukromý text.

// Najděte text v PDF a skryjte jej nakreslením obdélníku 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 });
}

Výstup výše uvedeného kódu je následující.

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.

Závěr

Na závěr jsme se naučili, jak najít určitý text v souborech PDF pomocí různých technik vyhledávání. Později jsme diskutovali o tom, jak redigovat soubory PDF buď nahrazením nebo skrytím textu v aplikaci .NET pomocí C#. Přesněji řečeno, jednoduše jsme hledali slova, fráze, hledali s rozlišováním malých a velkých písmen a pomocí regulárních výrazů v C#. Nakonec jsme výsledky vyhledávání nahradili buď jiným textem, nebo jsme jej skryli s obdélníkovým rámečkem přes něj.

Další podrobnosti o rozhraní API naleznete v dokumentaci. V případě dotazů nás kontaktujte prostřednictvím fóra.

Viz také