قد يكون هناك العديد من الأسباب لاستبدال كلمة أو عبارة في المستند. سواء كنت تريد مسح المحتوى الحساس قبل مشاركة المستند علنًا أو تريد إخفاء / إزالة جميع المعلومات الخاصة مثل معرفات البريد الإلكتروني أو أرقام الضمان الاجتماعي ، فأنت بحاجة إلى تنقيح محتوى المستند. ترشدك هذه المقالة إلى كيفية تنقيح مستندات Word برمجيًا في تطبيقات .NET باستخدام C #. سنناقش بشكل منفصل كيفية التنقيح عن طريق إخفاء النص وكيفية البحث عن النص أو الكلمات أو العبارات واستبدالها باستخدام تقنيات مختلفة.

سيتم تناول الموضوعات التالية أدناه:

NET Redaction API لاستبدال النص

GroupDocs.Redaction for .NET هي واجهة برمجة تطبيقات تنقيح المستندات التي تتيح البحث عن البيانات المقصودة ثم استبدالها من المستندات ذات تنسيقات الملفات المختلفة. إلى جانب تنقيح النص وتنقيطه ، توفر واجهة برمجة التطبيقات البيانات الوصفية والتعليقات التوضيحية وجداول البيانات وميزات تنقيح الصور. تتوفر تنسيقات الملفات المدعومة لمستندات Word وجداول البيانات والعروض التقديمية والصور ومستندات PDF في الوثائق.

يمكنك تنزيل DLLs أو مثبّت MSI من قسم التنزيلات أو تثبيت واجهة برمجة التطبيقات في تطبيق .NET عبر NuGet.

PM> Install-Package GroupDocs.Redaction

ليست هناك حاجة لتثبيت MS Office أو أي برنامج آخر تابع لجهة خارجية في هذه العملية. لنبدأ الآن ونلقي نظرة على الأساليب المختلفة للتعامل مع البحث عن النص واستبداله في المستندات. فيما يلي لقطة شاشة لمستند Word يتم استخدامه في أمثلة العرض التوضيحي. ستعمل نفس الأساليب مع تنسيقات المستندات الأخرى دون أي تغيير في التعليمات البرمجية.

البحث عن الكلمات أو الجمل واستبدالها في مستند Word باستخدام C

تشرح الخطوة التالية كيفية العثور على أي كلمة / عبارة في مستند Word ثم تستبدل جميع التكرارات ببعض النصوص الأخرى داخل تطبيق C #.

  • قم بتحميل مستند Word (DOC / DOCX) باستخدام فئة Redactor.
  • ابحث عن العبارة أو الكلمة بالضبط ، باستخدام فئة ExactPhraseRedaction مع فئة [ReplacementOptions](https://apireference.groupdocs.com /redaction/net/groupdocs.redaction.redactions/replacementoptions).
  • استخدم طريقة تطبيق لتطبيق Redactor لتطبيق التنقيح.
  • احفظ التغييرات باستخدام طريقة حفظ.

يقوم الكود التالي بالبحث عن الكلمة واستبدالها في C #. بتعبير أدق ، فإنه يستبدل كل تكرارات “John Doe” بـ “\ [censored ]”.

// ابحث عن العبارة بالضبط واستبدلها ببعض النصوص الأخرى باستخدام C #
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save();
}

إخراج الكود على النحو التالي.

بحث حساس لحالة الأحرف واستبدالها في ملفات Word باستخدام C

وبالمثل ، يمكنك إجراء تنقيح حساس لحالة الأحرف لمستند Word عن طريق البحث عن الكلمة الدقيقة واستبدالها بأي كلمة أخرى. يستبدل الكود التالي وجود كلمة “John Doe” في ملف DOCX باستخدام C # ، ولكن هذه المرة ، سيكون البحث حساسًا لحالة الأحرف.

// ابحث عن العبارة الدقيقة (حساسة لحالة الأحرف) واستبدلها ببعض النصوص الأخرى باستخدام C #
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save();
}

إخراج الكود على النحو التالي.

استبدال النص في ملفات Word باستخدام التعبيرات العادية (RegEx) باستخدام C

للبحث عن أي نمط نصي واستبداله في ملفات Word (DOC ، DOCX) ، يمكنك استخدام التعبيرات العادية. تسمح لك الخطوات التالية بتنقيح مستند Word باستخدام RegEx باستخدام C #.

  • قم بتحميل مستند Word باستخدام فئة Redactor.
  • ابحث عن تطابق التعبير العادي باستخدام فئة RegexRedaction باستخدام فئة [ReplacementOptions](https://apireference.groupdocs.com/redaction/ net / groupdocs.redaction.redactions / خيارات الاستبدال).
  • استخدم طريقة تطبيق لاستبدال جميع نصوص تطابق regex.
  • استخدم طريقة حفظ للحصول على ملف Word المنقح.

يوضح الكود التالي كيفية العثور على نمط نص في ملف Word باستخدام RegEx ثم استبداله / إخفائه بنص آخر باستخدام C #.

// ابحث عن نص باستخدام التعبير العادي واستبدله بنص آخر باستخدام 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();
}

إخراج الكود أعلاه على النحو التالي.

إخفاء النص السري في مستندات Word ذات المربع الملون باستخدام C

إذا كنت لا ترغب في استبدال المحتوى الخاص بك ولكنك تريد فقط تغطيته ، فإن واجهة برمجة التطبيقات تسمح لك بإخفاء هذا المحتوى عن طريق رسم مربع فوقه. الكود التالي يضع المستطيل الأسود فوق النص المقصود لحجب النص باستخدام C #.

// ابحث عن نص وقم بإخفائه برسم مستطيل فوقه باستخدام C #
using (Redactor redactor = new Redactor(@"path/document.docx"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save();
}

إخراج الكود أعلاه على النحو التالي.

احصل على ترخيص API مجاني

يمكنك الحصول على ترخيص مؤقت مجاني من أجل استخدام واجهة برمجة التطبيقات بدون قيود التقييم.

استنتاج

في الختام ، تعلمت كيفية العثور على نص في ملفات Word (DOC ، DOCX) باستخدام تقنيات مختلفة واستبدال النتائج بطرق مختلفة. بتعبير أدق ، ناقشنا كيفية العثور على نص أو كلمة أو عبارة حتى لو كانت بحثًا حساسًا لحالة الأحرف أو باستخدام تعبير عادي في C #. لاحقًا ، استبدلنا نتائج البحث بنص آخر أو بوضع مربع المستطيل الملون فوق النص الذي تم البحث عنه.

لمزيد من المعلومات حول واجهة برمجة التطبيقات ، تفضل بزيارة الوثائق. للاستفسارات ، اتصل بنا عبر المنتدى.

أنظر أيضا