الگوها به طور گسترده ای برای تولید اسناد سفارشی استفاده می شوند. این مقاله در مورد نحوه یافتن و جایگزینی متن و کلمات در اسناد PDF با استفاده از C# راهنمایی می کند. ما به طور جداگانه در مورد نحوه جایگزینی برنامه‌ای کلمات و عبارات، جایگزینی کلمات با جستجوی حساس به حروف بزرگ، جایگزینی با استفاده از عبارات منظم بحث خواهیم کرد. در نهایت، ما همچنین یاد خواهیم گرفت که چگونه رشته جستجو شده را با استفاده از C# مخفی کنیم.

موضوعات زیر قرار است در زیر پوشش داده شود:

NET Redaction API برای جایگزینی متن

GroupDocs GroupDocs.Redaction را برای .NET به نمایش می گذارد، API برای ویرایش، مخفی کردن یا حذف محتوا و حتی ابرداده اسناد، ارائه ها، صفحات گسترده، فایل های PDF و تصاویر در برنامه NET. برای جزئیات بیشتر در مورد API، به مستندات آن مراجعه کنید.

می‌توانید نصب‌کننده DLL یا MSI را از بخش دانلودها دانلود کنید یا API را از طریق NuGet در برنامه NET خود نصب کنید. /packages/groupdocs.redaction).

PM> Install-Package GroupDocs.Redaction

بدون نیاز به نصب هیچ ویرایشگر PDF یا هر نرم افزار شخص ثالث دیگری برای ویرایش. تصویر زیر اسکرین شات یک سند PDF است که در مثال های زیر استفاده شده است. همین رویکرد برای سایر قالب‌های سند با تغییر بسیار کم یا بدون تغییر در کد کار خواهد کرد.

یافتن و جایگزینی کلمه یا عبارت در PDF با استفاده از C#

می توانید از این ویژگی برای مخفی کردن هرگونه داده محرمانه و همچنین ایجاد یک سند سفارشی جدید از الگو استفاده کنید. مرحله زیر نحوه یافتن هر کلمه/ عبارتی را در یک سند PDF با متن دیگری در برنامه C# توضیح می دهد.

  • فایل PDF را با استفاده از کلاس Redactor بارگیری کنید.
  • عبارت یا کلمه دقیق را با استفاده از ExactPhraseRedaction و ReplacementOptions پیدا کنید redaction/net/groupdocs.redaction.redactions/replacementoptions).
  • ویرایش را با استفاده از روش Apply() اعمال کنید.
  • سند جدید را با تغییرات با استفاده از روش Save() ذخیره کنید.

کد زیر کلمه را در C# پیدا کرده و جایگزین آن می کند. به عبارت دقیق تر، با جایگزین کردن کلمه “[سانسور شده”، تمام رخدادهای “جان دو” را پنهان می کند.

// عبارت دقیق را پیدا کنید و آن را با متن دیگری با استفاده از 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 });
}

خروجی کد به صورت زیر است.

یافتن و جایگزینی متن یا عبارت حساس به حروف بزرگ در PDF با استفاده از C#

می توانید جستجو و ویرایش حساس به حروف بزرگ را انجام دهید. کد زیر جایگزین وجود کلمه “John Doe” به حروف کوچک و بزرگ می شود اما نه “john doe” در سی شارپ.

// عبارت دقیق (حساس به حروف بزرگ) را پیدا کنید و با استفاده از 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 });
}

خروجی کد به صورت زیر است.

جایگزین کردن متن در PDF با عبارات منظم (RegEx) با استفاده از C#

همچنین می توانید هر الگوی متنی خاصی را با استفاده از عبارات منظم جایگزین کنید. مراحل زیر به شما این امکان را می دهد که PDF را پس از جستجو با استفاده از عبارت منظم (RegEx) در برنامه .NET خود ویرایش کنید.

  • سند PDF را با استفاده از کلاس Redactor بارگیری کنید.
  • مطابقت regex را با استفاده از کلاس RegexRedaction با ReplacementOptions پیدا کنید net/groupdocs.redaction.redactions/replacementoptions).
  • تغییرات سند را با استفاده از روش Apply() وارد کنید.
  • سند ویرایش شده را با استفاده از روش مناسب Save() ذخیره کنید.

کد زیر نشان می دهد که چگونه می توان یک الگوی متن خاص را در یک سند PDF با استفاده از RegEx پیدا کرد و بعداً آن را با متن دیگری با استفاده از C# جایگزین/مخفی کرد.

// متن را با استفاده از عبارت منظم پیدا کنید و آن را با متن دیگری با استفاده از 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 });
}

خروجی کد بالا به صورت زیر است.

متن را با کادر رنگی در C# جایگزین کنید

اگر فقط می خواهید محتوای جستجو شده (اطلاعات خصوصی) فایل PDF خود را مخفی کنید، می توانید به سادگی روی آن یک جلد قرار دهید. API به شما امکان می دهد متن جستجو شده را پنهان کنید. کد C# زیر مستطیل سیاه را روی متن خصوصی ذکر شده قرار می دهد.

// متن را در PDF پیدا کنید و با کشیدن مستطیل روی آن با استفاده از 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 });
}

خروجی کد بالا به صورت زیر است.

مجوز API رایگان دریافت کنید

برای استفاده از API بدون محدودیت ارزیابی، می توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

برای نتیجه گیری، ما یاد گرفتیم که چگونه با استفاده از تکنیک های مختلف جستجو، متن خاصی را در فایل های PDF پیدا کنیم. بعداً درباره نحوه ویرایش فایل‌های PDF با جایگزین کردن یا پنهان کردن متن در برنامه دات‌نت با استفاده از C# بحث کردیم. به طور دقیق تر، ما به سادگی کلمات، عبارات، جستجو با حساسیت حروف کوچک و بزرگ و با استفاده از عبارات منظم در C# را جستجو کردیم. در نهایت، نتایج جستجو را با متن دیگری یا با مخفی کردن آن با یک مربع مستطیل روی آن جایگزین کردیم.

برای جزئیات بیشتر درباره API، به اسناد مراجعه کنید. برای سؤالات، از طریق forum با ما تماس بگیرید.

همچنین ببینید