ابحث عن كلمة في PDF باستخدام C #

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

تتم مناقشة / تغطية الموضوعات التالية في هذه المقالة:

C # API للبحث عن النص

للبحث عن نص في مستندات PDF ، سأستخدم GroupDocs.Search for .NET API. يسمح لك بإجراء عمليات البحث عن نص في جميع تنسيقات المستندات الشائعة مثل PDF و Word و Excel و PowerPoint وغيرها الكثير. كما أنه يمكّنك من جلب المعلومات المطلوبة من الملفات والمستندات ورسائل البريد الإلكتروني والمحفوظات. يمكنك إنشاء ودمج فهارس متعددة للبحث بسرعة وذكاء من خلالها باستخدام تعبير بسيط ومنطقي وعادي (Regex) و Fuzzy وأنواع أخرى من الاستعلامات.

يمكنك إما تنزيل DLL الخاصة بواجهة برمجة التطبيقات أو تثبيته باستخدام NuGet.

Install-Package GroupDocs.Search

البحث عن نص في مستندات PDF باستخدام C

يمكنك البحث عن أي نص أو كلمة معينة في مستندات PDF الخاصة بك برمجيًا باتباع الخطوات البسيطة المذكورة أدناه:

  • قم بإنشاء مثيل لفئة الفهرس
  • حدد المسار إلى مجلد الفهرس
  • اشترك في أحداث الفهرس
  • أضف ملفات PDF إلى الفهرس باستدعاء طريقة Add ()
  • تحديد استعلام البحث
  • قم بإجراء بحث باستخدام طريقة Search () مع استعلام البحث
  • استخدم SearchResult وطباعة الملخص
  • قم بتمييز النتائج التي تم البحث عنها في الإخراج باستخدام طريقة Highlight ()

يوضح نموذج التعليمات البرمجية التالي كيفية البحث عن نص في مستندات PDF باستخدام C #.

// حدد مسار مجلد الفهرس
string indexFolder = @"C:\Files\Index\";

// حدد مسارًا لمجلد يحتوي على مستندات PDF للبحث فيها
string documentsFolder = @"C:\Files\Files\"; 

// إنشاء أو تحميل فهرس
Index index = new Index(indexFolder);

// اشترك في فهرس الأحداث
index.Events.ErrorOccurred += (sender, args) =>
{
    // كتابة رسائل خطأ إلى وحدة التحكم
    Console.WriteLine(args.Message);
};

// أضف الملفات بشكل متزامن
// وثائق فهرسة متزامنة من المجلد المحدد
index.Add(documentsFolder); 

// قم بإجراء البحث
string query = "Vestibulum"; // Specify a search query
SearchResult result = index.Search(query); // Searching in the index

// استخدم نتائج البحث
// طباعة النتيجة
Console.WriteLine("Documents found: " + result.DocumentCount);
Console.WriteLine("Total occurrences found: " + result.OccurrenceCount);

for (int i = 0; i < result.DocumentCount; i++)
{
    FoundDocument document = result.GetFoundDocument(i);
    Console.WriteLine("\tDocument: " + document.DocumentInfo.FilePath);
    Console.WriteLine("\tOccurrences: " + document.OccurrenceCount);
}

// قم بتمييز التكرارات في النص
if (result.DocumentCount > 0)
{
    // الحصول على أول مستند تم العثور عليه
    FoundDocument document = result.GetFoundDocument(0);

    string path = documentsFolder + "Highlighted.html";

    // إنشاء محول الإخراج إلى ملف
    OutputAdapter outputAdapter = new FileOutputAdapter(path);

    // إنشاء كائن قلم التمييز
    HtmlHighlighter highlighter = new HtmlHighlighter(outputAdapter);

    // إنشاء مستند بتنسيق HTML مع نتائج بحث مميزة
    index.Highlight(document, highlighter); 

    Console.WriteLine();
    Console.WriteLine("Generated HTML file can be opened with Internet browser.");
    Console.WriteLine("The file can be found by the following path:");
    Console.WriteLine(path);
}

سينشئ نموذج الكود أعلاه المخرجات التالية:

Documents found: 1
Total occurrences found: 4
        Document: C:\Files\Files\sample.pdf
        Occurrences: 4

Generated HTML file can be opened with Internet browser.
The file can be found by the following path:
C:\Files\Files\Highlighted.html
البحث عن نص أو كلمة في PDF باستخدام CSharp

تمييز النص الذي تم البحث عنه في مستندات PDF باستخدام C #

حدث الفهرس والفهرس

فئة فهرس هي الفئة الرئيسية التي توفر وظائف لفهرسة المستندات والبحث من خلالها. يمكن إنشاء فهرس في الذاكرة أو على القرص عن طريق استدعاء مُنشئ هذه الفئة. في مثال الكود أعلاه ، قمت بإنشاء الفهرس على القرص بحيث يمكن إعادة استخدامه.

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

أضف ملفات إلى الفهرس

تضيف طريقة Add () لفئة الفهرس ملفًا أو جميع الملفات في مجلد محدد أو مجلدات فرعية بواسطة مسار مطلق أو نسبي. سيتم فهرسة جميع المستندات الموجودة على المسار المحدد.

قم بإجراء عملية بحث

توفر فئة الفهرس طرق بحث مختلفة لإجراء عملية البحث. يمكنك البحث عن طريق توفير كلمة أساسية بسيطة أو عن طريق تحديد SearchQuery.

توفر فئة SearchResult تفاصيل نتيجة البحث المطابقة لاستعلام البحث. تسهل الطرق والخصائص التالية لهذه الفئة الحصول على تفاصيل نتائج البحث:

قم بتمييز نتائج البحث

تبرز فئة HtmlHighlighter نتائج البحث في نص كامل من المستند المنسق بتنسيق HTML.

تقوم طريقة Highlight () الخاصة بفئة الفهرس بإنشاء إخراج HTML يبرز تكرارات المصطلحات الموجودة. يمكنك العثور على مزيد من التفاصيل حول “Highlighting Search Results” في الوثائق.

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

يمكنك البحث عن أي عبارة نصية محددة أو كلمة مع مراعاة الأحرف الكبيرة والصغيرة في مستندات PDF الخاصة بك برمجيًا باتباع الخطوات البسيطة المذكورة أدناه:

  • قم بإنشاء مثيل لفئة الفهرس
  • حدد المسار إلى مجلد الفهرس
  • أضف ملفات PDF إلى الفهرس باستدعاء طريقة Add ()
  • قم بإنشاء مثيل لـ SearchOptions
  • اضبط خاصية UseCaseSensitiveSearch على true
  • تحديد استعلام البحث
  • قم بإجراء بحث باستخدام طريقة Search () مع استعلام البحث and the SearchOptions
  • استخدم SearchResult وطباعة الملخص

يوضح نموذج التعليمات البرمجية التالي كيفية إجراء بحث حساس لحالة الأحرف في مستند PDF باستخدام C #.

// حدد مسار مجلد الفهرس
string indexFolder = @"C:\Files\Index\";

// حدد مسارًا لمجلد يحتوي على مستندات PDF للبحث فيها
string documentsFolder = @"C:\Files\Files\";

// إنشاء فهرس في المجلد المحدد
Index index = new Index(indexFolder);

// فهرسة المستندات من المجلد المحدد
index.Add(documentsFolder); 

// تحديد خيارات البحث
SearchOptions options = new SearchOptions();
options.UseCaseSensitiveSearch = true; // Enabling case sensitive search

// كلمة البحث
string query = "Vestibulum";

// قم بإجراء البحث
SearchResult result = index.Search(query, options);

// طباعة النتيجة
Console.WriteLine("Documents found: " + result.DocumentCount);
Console.WriteLine("Total occurrences found: " + result.OccurrenceCount);

for (int i = 0; i < result.DocumentCount; i++)
{
    FoundDocument document = result.GetFoundDocument(i);
    Console.WriteLine("\tDocument: " + document.DocumentInfo.FilePath);
    Console.WriteLine("\tOccurrences: " + document.OccurrenceCount);
}
Documents found: 1
Total occurrences found: 2
        Document: C:\Files\Files\sample.pdf
        Occurrences: 2

توفر فئة SearchOptions خيارات لإجراء عمليات البحث. تسمح لك خاصية UseCaseSensitiveSearch لهذه الفئة بإجراء بحث حساس لحالة الأحرف عن كلمة أو نص.

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

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

استنتاج

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

أنظر أيضا