Důvodů k nahrazení slova nebo fráze v dokumentu může být mnoho. Ať už chcete před veřejným sdílením dokumentu vymazat citlivý obsah nebo chcete skrýt/odstranit všechny soukromé informace, jako jsou e-mailová ID nebo čísla sociálního zabezpečení, musíte obsah dokumentu redigovat. Tento článek vás provede programovou redigováním dokumentů Wordu v aplikacích .NET pomocí C#. Samostatně probereme, jak redigovat skrytím textu a jak najít a nahradit text, slova nebo fráze pomocí různých technik.

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

.NET Redaction API pro nahrazení textu

GroupDocs.Redaction for .NET je rozhraní API pro úpravu dokumentů, které umožňuje vyhledání a následné nahrazení zamýšlených dat z dokumentů různých formátů souborů. Spolu s redigováním textu a rasterizací poskytuje API funkce metadat, anotací, tabulek a obrázků. Podporované formáty souborů dokumentů Word, tabulek, prezentací, obrázků a dokumentů PDF jsou k dispozici v 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

V tomto procesu není třeba instalovat MS Office ani žádný jiný software třetích stran. Začněme nyní a podívejme se na různé přístupy k řešení hledání a nahrazování textu v dokumentech. Následuje snímek obrazovky dokumentu aplikace Word, který je použit v příkladech pro demonstraci. Stejné metody budou fungovat pro jiné formáty dokumentů bez jakékoli změny v kódu.

Najít a nahradit slova nebo fráze v dokumentu Word pomocí C#

Následující krok vysvětluje, jak najít jakékoli slovo/frázi v dokumentu aplikace Word a poté nahradí všechny výskyty jiným textem v aplikaci C#.

Následující kód najde a nahradí slovo v C#. Přesněji, nahrazuje všechny výskyty “John Doe” za “[censored]”.

// Najděte přesnou frázi a nahraďte ji jiným textem pomocí C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save();
}

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

Hledání a nahrazování v souborech aplikace Word s rozlišením malých a velkých písmen pomocí C#

Podobně můžete provést redigování dokumentu aplikace Word s rozlišením velkých a malých písmen tak, že najdete přesné slovo a nahradíte ho jakýmkoli jiným. Následující kód nahrazuje existenci slova “John Doe” v souboru DOCX pomocí C#, ale tentokrát bude vyhledávání rozlišovat malá a velká 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.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save();
}

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

Nahraďte text v souborech Word pomocí regulárních výrazů (RegEx) pomocí C#

Chcete-li najít a nahradit jakýkoli vzor textu v souborech Word (DOC, DOCX), můžete použít regulární výrazy. Následující kroky vám umožní redigovat dokument aplikace Word pomocí RegEx pomocí C#.

Následující kód ukazuje, jak najít textový vzor v souboru Word pomocí RegEx a poté 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.docx"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
  redactor.Save();
}

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

Skrýt důvěrný text v dokumentech aplikace Word pomocí barevného pole pomocí C#

Pokud nechcete nahradit svůj soukromý obsah, ale chcete jej pouze zakrýt, rozhraní API vám umožní tento obsah skrýt tak, že přes něj nakreslíte rámeček. Následující kód umístí černý obdélník přes zamýšlený text, aby se text začernil pomocí C#.

// Najděte text a skryjte jej nakreslením obdélníku pomocí C#
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save();
}

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 jste se naučili, jak najít text v souborech Word (DOC, DOCX) pomocí různých technik a nahradit zjištěné poznatky různými způsoby. Přesněji řečeno, diskutovali jsme o tom, jak najít text, slovo nebo frázi, i když se jedná o vyhledávání rozlišující velká a malá písmena nebo použití regulárního výrazu v C#. Později jsme výsledky hledání nahradili buď jiným textem, nebo umístěním barevného obdélníku nad hledaný text.

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

Viz také