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

البحث عن نص واستبداله في مستندات Word

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

Java API للبحث عن النص واستبداله في مستندات Word

من أجل تنفيذ ميزة البحث والاستبدال ، سنستخدم Aspose.Words for Java وهي واجهة برمجة تطبيقات معالجة كلمات قوية وغنية بالميزات وسهلة الاستخدام لمنصة Java. يمكنك إما تنزيل JAR الخاص به أو تثبيته داخل التطبيق المستند إلى Maven باستخدام التكوينات التالية.

مخزن:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

الاعتماد:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.5</version>
    <classifier>jdk17</classifier>
</dependency>

البحث عن نص واستبداله في مستندات Word (DOC / DOCX) باستخدام Java

لنبدأ بمعالجة سيناريو بحث واستبدال بسيط حيث سنجد كلمة “حزين” في مستند Word المدخل. فيما يلي خطوات إجراء هذه العملية.

يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن نص واستبداله في مستندات Word DOCX باستخدام Java.

// قم بتحميل مستند Word DOCX
Document doc = new Document("document.docx");
// ابحث عن النص واستبدله في المستند
doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD));
// احفظ مستند Word
doc.save("Find-And-Replace-Text.docx");

يوجد أدناه إدخال مستند Word الذي استخدمناه في هذه المقالة.

البحث عن نص واستبداله في DOCX باستخدام Java

التالي هو الناتج بعد البحث عن كلمة “حزين” واستبدالها.

البحث عن كلمة واستبدالها

البحث عن الكلمات المتشابهة واستبدالها في Word DOC / DOCX باستخدام Java

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

يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن الكلمات المتشابهة واستبدالها بناءً على نمط معين باستخدام Java.

// قم بتحميل مستند Word DOCX
Document doc = new Document("document.docx");
// ابحث عن الكلمات المتشابهة في المستند واستبدلها
FindReplaceOptions options = new FindReplaceOptions();
doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options);
// احفظ مستند Word
doc.save("Find-And-Replace-Text.docx");

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

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

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

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

// قم بتحميل مستند Word DOCX
Document doc = new Document("document.docx");
// الوصول إلى مجموعة رأس التذييل
HeaderFooterCollection headersFooters = doc.getFirstSection().getHeadersFooters();
HeaderFooter footer = headersFooters.get(HeaderFooterType.FOOTER_PRIMARY);
// تعيين خيارات البحث والاستبدال
FindReplaceOptions options = new FindReplaceOptions();
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
footer.getRange().replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// احفظ مستند Word
doc.save("Find-And-Replace-Text.docx");

تُظهر لقطة الشاشة التالية النص المحدث في تذييل مستند Word.

البحث عن واستبدال النص في التذييل

البحث عن النص واستبداله بأحرف وصفية في Word DOCX باستخدام Java

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

  • & p: فاصل فقرة
  • & ب: فاصل مقطعي
  • & م: فاصل صفحة
  • & l: فاصل الأسطر

يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن النص واستبداله بفاصل فقرة في مستند Word.

// قم بتحميل مستند Word DOCX
Document doc = new Document("document.docx");
// اضبط الخيارات
FindReplaceOptions options = new FindReplaceOptions();
// تعطيل مطابقة الحالة وإيجاد الكلمات الكاملة فقط
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
// استبدال النص بفاصل الفقرة
doc.getRange().replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// احفظ مستند Word
doc.save("Find-And-Replace-Text.docx");

فيما يلي لقطة شاشة من مستند Word الناتج.

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

استنتاج

في هذه المقالة ، رأيت كيفية البحث عن نص واستبداله في مستندات Word DOC / DOCX برمجيًا باستخدام Java. تمت معالجة سيناريوهات مختلفة للعثور على النص واستبداله في ملفات MS Word DOCX بمساعدة عينات التعليمات البرمجية. يمكنك معرفة المزيد حول Aspose.Words for Java من التوثيق.

أنظر أيضا