استخراج النص من DOCX

يتم تمثيل معظم البيانات كنص مرئي في المستندات والصور وعلى الويب ، لذا فإن استخراج البيانات النصية هو في بعض الأحيان أكثر الأشياء المطلوبة. قد تحتاج إلى استخراج نص أو صور من مستندات Word أو PDF. بصفتك مطور C # ، يمكنك بسهولة استخراج النص من المستندات برمجيًا. في هذه المقالة ، ستتعلم كيفية استخراج النص من مستندات DOC أو DOCX باستخدام C #.

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

C # API لاستخراج النص

سأستخدم GroupDocs.Parser for .NET API لاستخراج نص من مستندات DOCX. يسمح باستخراج النصوص والبيانات الوصفية والصور من مستندات تنسيق الملفات المدعومة مثل Word و PDF و Excel و Powerpoint. كما أنه يدعم استخراج النص الخام والمنسق والمنظم بالإضافة إلى البيانات الوصفية من ملفات التنسيقات المدعومة.

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

Install-Package GroupDocs.Parser

استخراج النص من DOCX باستخدام C

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

  • قم بإنشاء مثيل لفئة Parser
  • حدد مسار الملف
  • قم باستدعاء الأسلوب GetText الخاص بفئة المحلل اللغوي لاستخراج النص
  • الحصول على نتائج في كائن فئة TextReader
  • إظهار النتائج عن طريق استدعاء الأسلوب ReadToEnd لفئة TextReader

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

// إنشاء مثيل لفئة المحلل اللغوي
Parser parser = new Parser(@"C:\Files\sample.docx");

// استخرج نصًا إلى القارئ
using (TextReader reader = parser.GetText())
{
    // اطبع نصًا من المستند
    // إذا لم يكن استخراج النص مدعومًا ، فسيكون القارئ فارغًا
    Console.WriteLine(reader == null ? "Text extraction isn't supported" : reader.ReadToEnd());
}
استخراج النص من DOCX باستخدام C #

استخراج النص من DOCX باستخدام C #

فئة Parser هي الفئة الرئيسية التي توفر وظائف التحليل واستخراج النصوص والصور. لقد حددت مسار ملف الإدخال في المُنشئ لهذه الفئة.

تستخرج طريقة GetText () لفئة المحلل اللغوي نصًا من المستند المحدد.

الحصول على نص منسق من DOCX باستخدام C

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

  • قم بإنشاء مثيل لفئة Parser
  • حدد مسار الملف
  • تحديد FormattedTextOptions
  • اضبط FormattedTextMode على HTML
  • قم باستدعاء الأسلوب GetFormattedText لفئة المحلل اللغوي لاستخراج النص
  • الحصول على نتائج في كائن فئة TextReader
  • إظهار النتائج عن طريق استدعاء الأسلوب ReadToEnd لفئة TextReader

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

// إنشاء مثيل لفئة المحلل اللغوي
Parser parser = new Parser(@"C:\Files\sample.docx");

// استخراج نص منسق في القارئ
using (TextReader reader = parser.GetFormattedText(new FormattedTextOptions(FormattedTextMode.Html)))
{
    // اطبع نصًا منسقًا من المستند
    // إذا لم يكن استخراج النص المنسق مدعومًا ، يكون القارئ فارغًا
    Console.WriteLine(reader == null ? "Formatted text extraction isn't suppported" : reader.ReadToEnd());
}
استخراج نص منسق من DOCX باستخدام C #

استخراج نص منسق من DOCX باستخدام C #

توفر فئة FormattedTextOptions الخيارات المستخدمة لاستخراج النص المنسق مثل الاستخراج الوضع. لقد قمت بتعيين وضع الاستخراج على HTML الذي يستخرج نص المستند بتنسيق HTML .

تقوم طريقة GetFormattedText () لفئة المحلل اللغوي باستخراج نص منسق من المستند المحدد.

استخراج نص منسق من الصفحات باستخدام C

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

  • قم بإنشاء مثيل لفئة Parser
  • حدد مسار الملف
  • تحقق مما إذا كان FormattedText صحيحًا
  • اتصل بـ GetDocumentInfo للحصول على عدد الصفحات
  • تحقق مما إذا كانت PageCount ليست صفراً
  • تحديد FormattedTextOptions
  • اضبط FormattedTextMode على HTML
  • قم باستدعاء الأسلوب GetFormattedText لكل فهرس صفحة لاستخراج النص
  • الحصول على نتائج في كائن فئة TextReader
  • إظهار النتائج عن طريق استدعاء الأسلوب ReadToEnd لفئة TextReader

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

// إنشاء مثيل لفئة المحلل اللغوي
using (Parser parser = new Parser(@"C:\Files\sample.docx"))
{
    // تحقق مما إذا كان المستند يدعم استخراج النص المنسق
    if (!parser.Features.FormattedText)
    {
        Console.WriteLine("Document isn't supports formatted text extraction.");
        return;
    }

    // احصل على معلومات الوثيقة
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    // تحقق مما إذا كان المستند يحتوي على صفحات
    if (documentInfo.PageCount == 0)
    {
        Console.WriteLine("Document hasn't pages.");
        return;
    }

    // كرر عبر الصفحات
    for (int p = 0; p < documentInfo.PageCount; p++)
    {
        // اطبع رقم الصفحة 
        Console.WriteLine(string.Format("Page {0}/{1}", p + 1, documentInfo.PageCount));
        // استخراج نص منسق في القارئ
        using (TextReader reader = parser.GetFormattedText(p, new FormattedTextOptions(FormattedTextMode.Html)))
        {
            // اطبع نصًا منسقًا من المستند
            // نتجاهل التحقق من القيم الصفرية لأننا تحققنا من دعم ميزة استخراج النص المنسق مسبقًا
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}
استخراج نص منسق من الصفحات باستخدام C #

استخراج نص منسق من الصفحات باستخدام C #

توفر فئة المحلل اللغوي الميزات خاصية تمثل الميزات فئة. يمكن استخدامه للتحقق مما إذا كانت الميزة مدعومة للمستند. يمكنك قراءة المزيد حول الميزات المدعومة في قسم “الحصول على الميزات المدعومة”.

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

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

استنتاج

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

أنظر أيضا