Š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 API pro nahrazování textu
- Najít a nahradit slova nebo fráze
- Hledání a nahrazování slov s rozlišením malých a velkých písmen
- Nahrazení regulárními výrazy (RegEx)
- Skrýt text pomocí barevného pole
.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#.
- Načtěte soubor PDF pomocí třídy Redactor.
- Najděte přesnou frázi nebo slovo pomocí ExactPhraseRedaction a [ReplacementOptions](https://apireference.groupdocs.com/ redaction/net/groupdocs.redaction.redactions/replacementoptions).
- Použijte redigování pomocí metody Apply().
- Uložte nový dokument se změnami pomocí metody Save().
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.
- Načtěte dokument PDF pomocí třídy Redactor.
- Najděte shodu s regulárním výrazem pomocí třídy RegexRedaction s [ReplacementOptions](https://apireference.groupdocs.com/redaction/ net/groupdocs.redaction.redactions/replacementoptions).
- Vložte změny do dokumentu pomocí metody Apply().
- Uložte redigovaný dokument pomocí vhodné metody Save().
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.