في إحدى المقالات ، ناقشنا بالفعل كيفية تنقيح الكلمات في المستندات كمطور .NET. تُستخدم الإستراتيجية بعدة طرق لمسح المحتوى الحساس أو إخفاء أو إزالة المعلومات الخاصة مثل عناوين البريد الإلكتروني أو أرقام التعريف. تتناول هذه المقالة كيفية إجراء بحث عن الكلمات في مستندات Word DOC / DOCX في Java. سنناقش بشكل منفصل كيفية البحث عن النص أو الكلمات أو العبارات واستبدالها بتقنيات مختلفة باستخدام Java API للتنقيح.

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

Java API للبحث عن الكلمات واستبدال النص

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

تنزيل أو تكوين

يمكنك تنزيل ملف JAR من قسم التنزيلات ، أو الحصول على أحدث تكوينات المستودعات والتبعية لـ pom.xml لتطبيقات Java المستندة إلى المخضرم.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-redaction</artifactId>
        <version>21.12</version> 
</dependency>

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

وثيقة لتنقيح النص

البحث عن الكلمات أو العبارة واستبدالها باستخدام Java

تشرح الخطوات التالية كيفية البحث عن تكرارات كلمة / عبارة ثم استبدالها في مستند Word داخل تطبيق Java.

  • قم بتحميل ملف DOC / DOCX باستخدام فئة Redactor.
  • ابحث عن العبارة أو الكلمة بالضبط ، باستخدام الفئتين ExactPhraseRedaction و ReplacementOptions.
  • استخدم طريقة تطبيق Redactor لتطبيق التنقيح.
  • لحفظ الملف في موقع مختلف بعد إجراء التغييرات ، استخدم دفق الإخراج.
  • احفظ تغييرات التنقيح باستخدام طريقة الحفظ.

يقوم الكود التالي بالبحث عن كلمة “John Doe” واستبدالها في مستند Word أعلاه باستخدام Java. يستبدل كل تكرارات “John Doe” بكلمة “\ [censored ]”.

// ابحث عن العبارة بالضبط واستبدلها ببعض النصوص الأخرى باستخدام Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
// إذا كنت تريد حفظ الملف المنقح في موقع مختلف باسم مختلف.
FileOutputStream stream = new FileOutputStream("path/exactPhrase.docx");
RasterizationOptions rasterOptions = new RasterizationOptions();
rasterOptions.setEnabled(false);
redactor.save(stream, rasterOptions);

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

قم بالتنقيح باستخدام العبارة المطابقة

البحث عن الكلمات الحساسة لحالة الأحرف واستبدال النص في Java

تبدو حذرًا بشأن حالة الأحرف الدقيقة للكلمة وتريد فقط استبدال الكلمة التي تطابق البحث الحساس لحالة الأحرف فقط. يحل الكود التالي محل وجود مطابقة الحالة الدقيقة لكلمة “John Doe” في Java.

// ابحث عن العبارة الدقيقة (حساسة لحالة الأحرف) واستبدلها ببعض النصوص الأخرى باستخدام Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
redactor.save();

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

تنقيح حساس لحالة الأحرف

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

إذا كنت لا تريد تغيير الكلمة بالضبط ولكن هناك بعض الأنماط الموجودة في المستند الخاص بك ، يمكنك استخدام التعبيرات العادية. تسمح لك الخطوات التالية بالعثور على أي نمط نصي واستبداله باستخدام التعبيرات العادية (RegEx) في تطبيقات Java الخاصة بك.

  • قم بتحميل المستند باستخدام فئة Redactor.
  • قم بإنشاء RegEx باستخدام RegexRedaction.
  • قدم النص باستخدام ReplacementOptions ليحل محل تطابق RegEx.
  • استخدم طريقة التطبيق واستبدل جميع تطابقات التعبير العادي.
  • استخدم طريقة الحفظ للحصول على المستند المنقح.

يوضح الكود التالي كيفية إجراء البحث عن الكلمات في ملف Word باستخدام RegEx واستبداله ببعض النصوص الأخرى باستخدام Java.

// ابحث عن نص باستخدام تعبير عادي واستبدله بنص آخر باستخدام Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
redactor.save();

ما يلي هو إخراج الكود أعلاه:

تنقيح RegEx

استبدل النص بالمربع الملون في Java

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

// ابحث عن نص وقم بإخفائه برسم مستطيل فوقه باستخدام Java
final Redactor redactor  = new Redactor("path/document.docx");
redactor.apply(new ExactPhraseRedaction("John Doe", true, new ReplacementOptions(java.awt.Color.BLACK)));
redactor.save();

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

إخفاء النص باستخدام Box

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

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

استنتاج

لتلخيص ذلك ، تعلمت كيفية إجراء البحث عن الكلمات للعثور على نص في مستندات Word باستخدام البحث الدقيق عن العبارة النصية ، والبحث الحساس لحالة الأحرف ، والبحث باستخدام التعبيرات العادية ، وأخيراً وليس آخراً إخفاء النص بدلاً من استبداله. يمكنك استخدام هذه التقنيات المختلفة لاستبدال النتائج بطرق مختلفة في مستندات MS Word.

لمزيد من التفاصيل والتعرف على API ، قم بزيارة الوثائق. للاستفسارات ، اتصل بنا عبر المنتدى.

أنظر أيضا