
قد تحتاج إلى البحث عن نص معين من مستندات Word أو PDF. بصفتك مطور Java ، يمكنك البحث في أي نص من مستندات PDF برمجيًا. في هذه المقالة ، ستتعلم كيفية البحث عن كلمة في مستندات PDF باستخدام Java.
تتم مناقشة / تغطية الموضوعات التالية في هذه المقالة:
Java API للبحث عن النص
سأستخدم GroupDocs.Search for Java API للبحث في مستندات PDF. يسمح لك بإجراء عمليات البحث عن نص في جميع تنسيقات المستندات الشائعة مثل PDF و Word و Excel و PowerPoint وغيرها الكثير. يمكنك جلب المعلومات المطلوبة من الملفات والمستندات ورسائل البريد الإلكتروني والمحفوظات بسهولة باستخدام واجهة برمجة التطبيقات هذه. كما أنها تمكنك من إنشاء ودمج فهارس متعددة. يمكنك استخدام تعبير بسيط ، منطقي ، عادي (Regex) ، غامض ، وأنواع أخرى من الاستعلامات للبحث بسرعة وذكاء من خلال الفهارس.
التنزيل والتكوين
يمكنك تنزيل JAR الخاص بواجهة برمجة التطبيقات أو فقط إضافة تكوين pom.xml التالي في تطبيقات Java المستندة إلى Maven لتجربة أمثلة التعليمات البرمجية المذكورة أدناه.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>20.11</version>
</dependency>
ابحث عن نص في PDF باستخدام Java
يمكنك بسهولة البحث في أي نص أو كلمة معينة في مستندات PDF الخاصة بك باتباع الخطوات البسيطة المذكورة أدناه:
- أنشئ فهرس
- حدد المسار إلى مجلد الفهرس
- الاشتراك في أحداث الفهرس
- أضف ملفات إلى الفهرس باستدعاء طريقة إضافة
- قم بإجراء بحث باستخدام طريقة البحث
- استخدم SearchResult واطبع الملخص
- قم بتمييز النتائج التي تم البحث عنها في الإخراج باستخدام طريقة التحديد
يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن كلمة من مستند PDF باستخدام Java.
String indexFolder = "C:\\Index\\"; // Specify the path to the index folder
String documentsFolder = "C:\\Files\\"; // Specify the path to a folder containing documents to search
// قم بإنشاء فهرس جديد أو
// افتح فهرسًا موجودًا
Index index = new Index(indexFolder);
// اشترك في فهرس الأحداث
index.getEvents().ErrorOccurred.add(new EventHandler<IndexErrorEventArgs>() {
public void invoke(Object sender, IndexErrorEventArgs args) {
System.out.println(args.getMessage()); // Writing error messages to the console
}
});
// أضف الملفات بشكل متزامن
index.add(documentsFolder); // Synchronous indexing documents from the specified folder
// قم بإجراء البحث
String query = "elementum"; // Specify a search query
SearchResult result = index.search(query); // Searching in the index
// استخدم نتائج البحث
// طباعة النتيجة
System.out.println("Documents found: " + result.getDocumentCount());
System.out.println("Total occurrences found: " + result.getOccurrenceCount());
for (int i = 0; i < result.getDocumentCount(); i++) {
FoundDocument document = result.getFoundDocument(i);
System.out.println("\tDocument: " + document.getDocumentInfo().getFilePath());
System.out.println("\tOccurrences: " + document.getOccurrenceCount());
}
// قم بتمييز التكرارات في النص
if (result.getDocumentCount() > 0) {
FoundDocument document = result.getFoundDocument(0); // Getting the first found document
String path = "C:\\Output\\Highlighted.html";
OutputAdapter outputAdapter = new FileOutputAdapter(path); // Creating the output adapter to a file
HtmlHighlighter highlighter = new HtmlHighlighter(outputAdapter); // Creating the HtmlHighlighter object
index.highlight(document, highlighter); // Generating output HTML formatted document with highlighted search results
System.out.println();
System.out.println("Generated HTML file can be opened with Internet browser.");
System.out.println("The file can be found by the following path:");
System.out.println(Paths.get(path).toAbsolutePath().toString());
}
يجب أن ينتج عن نموذج الكود أعلاه المخرجات التالية:
Documents found: 1
Total occurrences found: 6
Document: C:\Files\Lorem ipsum.pdf
Occurrences: 6
Generated HTML file can be opened with Internet browser.
The file can be found by the following path:
C:\Output\Highlighted.html

ابحث عن كلمة في مستند PDF باستخدام Java
حدث الفهرس والفهرس
فئة فهرس هي الفئة الرئيسية لفهرسة المستندات والبحث فيها. يمكن إنشاء فهرس في الذاكرة أو على القرص عن طريق استدعاء مُنشئ هذه الفئة. لقد قمت بإنشائه على القرص حتى يمكن إعادة استخدامه.
لتلقي معلومات حول أخطاء الفهرسة ، اشتركت في حدث ErrorOccurred. سيعرض الأخطاء في حالة حدوث أي منها أثناء فهرسة الملفات.
أضف ملفات إلى الفهرس
تضيف طريقة add لفئة الفهرس ملفًا أو جميع الملفات في مجلد أو مجلدات فرعية بواسطة مسار مطلق أو نسبي. سيتم فهرسة جميع المستندات الموجودة على المسار المحدد.
قم بإجراء عملية بحث
توفر فئة الفهرس طرق بحث مختلفة لإجراء عملية البحث. يمكنك البحث بكلمة مفتاحية بسيطة أو بتحديد SearchQuery.
توفر فئة SearchResult تفاصيل نتيجة البحث المطابقة لاستعلام البحث. بعض الطرق موصوفة هنا:
- طريقة getOccurrenceCount () ترجع العدد الإجمالي للتكرارات التي تم العثور عليها
- توفر طريقة getDocumentCount () عدد المستندات الموجودة في الفهرس
- تقوم طريقة getFoundDocument (int) بإرجاع FoundDocument
- طريقة FoundDocument.getOccurrenceCount () ترجع عدد التكرارات الموجودة في المستند
قم بتمييز نتائج البحث
تسهل فئة HtmlHighlighter إبراز نتائج البحث في نص مستند كامل منسق بتنسيق HTML.
تقوم طريقة تمييز لفئة الفهرس بتوليد إخراج HTML يبرز تكرارات المصطلحات التي تم العثور عليها. يمكنك العثور على مزيد من التفاصيل حول “Highlighting Search Results” في الوثائق.
احصل على رخصة مجانية
يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مجاني مؤقت.
استنتاج
في هذه المقالة ، تعلمت كيفية البحث عن كلمة في مستند PDF باستخدام Java. يمكنك معرفة المزيد حول GroupDocs. ابحث عن Java API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.