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

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

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

يوفر GroupDocs واجهة برمجة تطبيقات Java لتطبيق أنواع مختلفة من التنقيحات. يسمح بتنقيح المحتوى أو إخفائه أو إزالته وحتى البيانات الوصفية للمستندات والعروض التقديمية وجداول البيانات وملفات 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>

أحد الأشياء الجيدة هو أنه لا توجد حاجة لتثبيت أي محرر PDF ، أو أي برنامج آخر تابع لجهة خارجية لتنقيح PDF. فيما يلي محتوى مستند PDF المستخدم في الأمثلة أدناه للتنقيح. سيعمل نفس الأسلوب مع تنسيقات المستندات الأخرى مع عدم وجود أي اختلاف في التعليمات البرمجية المصدر.

ابحث عن كلمة أو عبارة واستبدلها في ملف PDF بجافا

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

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

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

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

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

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

يمكنك إجراء بحث حساس لحالة الأحرف وتنقيحها. يحل الكود التالي محل التكرار الحساس لحالة الأحرف لكلمة “John Doe” وليس “john doe” في مستند PDF باستخدام Java.

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

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

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

وبالمثل ، يمكنك استبدال أي نمط نصي محدد باستخدام التعبيرات العادية. تتيح لك الخطوات التالية تنقيح ملف PDF بعد البحث باستخدام التعبير العادي (RegEx) في تطبيقات Java الخاصة بك.

  • قم بتحميل مستند PDF باستخدام فئة Redactor.
  • ابحث عن تطابق التعبير العادي باستخدام فئة RegexRedaction مع فئة [ReplacementOptions](https://apireference.groupdocs.com/ redaction / java / com.groupdocs.redaction.redactions / ReplacementOptions).
  • قم بتطبيق التغييرات على المستند باستخدام طريقة application ().
  • احفظ المستند المنقح باستخدام طريقة الحفظ () المناسبة.

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

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

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

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

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

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

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

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

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

استنتاج

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

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

أنظر أيضا