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

تعتبر مستندات Microsoft Word أساسية لإنشاء ومشاركة المحتوى النصي. إذا كنت تقوم بتطوير تطبيقات C# تتفاعل مع مستندات Word، فقد تحتاج إلى استخراج النص من مستندات Word باستخدام C# في ASP.NET مع ضمان الحفاظ على التنسيق. سواء كنت تقوم بتحليل النص، استخراج أقسام محددة، أو دمج المحتوى في مستند واحد، ستوضح لك هذه الدليل كيفية استخراج النص بكفاءة من مستندات Word باستخدام أفضل مكتبة C# لاستخراج نصوص مستندات Word.

جدول المحتويات

مكتبة C# لاستخراج النص من مستندات Word

Aspose.Words for .NET هي مكتبة غنية بالميزات وسهلة الاستخدام مصممة للعمل مع مستندات Word. توفر مجموعة شاملة من الوظائف، بما في ذلك استخراج نص مستندات Word في .NET، إنشاء المستندات، التلاعب بها، والتحويل. تعتبر Aspose.Words for .NET أداة لا تقدر بثمن للمطورين الذين يسعون إلى استخراج نصوص Word بكفاءة باستخدام C#.

يمكنك تنزيل ملف DLL أو تثبيت المكتبة مباشرة من NuGet باستخدام وحدة تحكم إدارة الحزم:

PM> Install-Package Aspose.Words

فهم استخراج النص في مستندات Word

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

استخراج النص من مستند Word

في هذا القسم، سنقوم بتنفيذ مستخرج نصوص C# لمستندات Word. تتضمن سير العمل لاستخراج النص ما يلي:

  1. تحديد العقد التي سيتم تضمينها في عملية استخراج النص.
  2. استخراج المحتوى بين العقد المحددة (بما في ذلك أو استبعاد العقدتين البداية والنهاية).
  3. استنساخ العقد المستخرجة لإنشاء مستند Word جديد يحتوي على المحتوى المستخرج.

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

  1. StartNode و EndNode تعمل كنقاط البداية والنهاية لاستخراج المحتوى. يمكن أن تكون هذه عقدة على مستوى الكتلة (مثل Paragraph، Table) أو عقدة على مستوى السطر (مثل Run، FieldStart، BookmarkStart، إلخ).
    • بالنسبة للحقول، مرر كائن FieldStart المقابل.
    • بالنسبة للإشارات المرجعية، استخدم عقد BookmarkStart و BookmarkEnd.
    • بالنسبة للتعليقات، استخدم عقد CommentRangeStart و CommentRangeEnd.
  2. IsInclusive تحدد ما إذا كانت العلامات مضمنة في الاستخراج. إذا تم تعيينها على false وتم تمرير نفس العقد أو العقد المتتالية، سيتم إرجاع قائمة فارغة.

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

بالإضافة إلى ذلك، تتطلب بعض طرق المساعدة من ExtractContent لتسهيل عملية استخراج النص:

الآن نحن مستعدون لاستخدام هذه الطرق واستخراج النص من مستندات Word باستخدام C#.

استخراج النص بين فقرات مستند Word

لاستخراج المحتوى بين فقرتين في مستند DOCX، اتبع الخطوات التالية:

  1. قم بتحميل مستند Word باستخدام فئة Document.
  2. أشر إلى الفقرات الابتدائية والنهاية باستخدام طريقة Document.FirstSection.Body.GetChild(NodeType.PARAGRAPH, int, boolean).
  3. استدعاء طريقة ExtractContent(startPara, endPara, true) لاستخراج العقد إلى كائن.
  4. استخدم طريقة المساعدة GenerateDocument(Document, extractedNodes) لإنشاء مستند يحتوي على المحتوى المستخرج.
  5. أخيرًا، احفظ المستند المعاد باستخدام طريقة Document.Save(string).

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

استخراج النص بين أنواع مختلفة من العقد

يمكنك أيضًا استخراج المحتوى بين أنواع مختلفة من العقد. على سبيل المثال، دعنا نستخرج المحتوى بين فقرة وجداول ونحفظه في مستند Word جديد. اتبع الخطوات التالية:

  1. قم بتحميل مستند Word باستخدام فئة Document.
  2. أشر إلى العقد الابتدائية والنهاية باستخدام طريقة Document.FirstSection.Body.GetChild(NodeType, int, boolean).
  3. استدعاء طريقة ExtractContent(startPara, endPara, true) لاستخراج العقد إلى كائن.
  4. استخدم طريقة المساعدة GenerateDocument(Document, extractedNodes) لإنشاء مستند يحتوي على المحتوى المستخرج.
  5. احفظ المستند المعاد باستخدام طريقة Document.Save(string).

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

استخراج النص بين الفقرات بناءً على الأنماط

الآن دعنا نستكشف كيفية استخراج المحتوى بين الفقرات بناءً على الأنماط. في هذا المثال، سنقوم باستخراج المحتوى بين أول “عنوان 1” وأول “عنوان 3” في مستند Word. اتبع الخطوات التالية:

  1. قم بتحميل مستند Word باستخدام فئة Document.
  2. استخراج الفقرات إلى كائن باستخدام طريقة المساعدة ParagraphsByStyleName(Document, “Heading 1”).
  3. استخراج الفقرات إلى كائن آخر باستخدام طريقة المساعدة ParagraphsByStyleName(Document, “Heading 3”).
  4. استدعاء طريقة ExtractContent(startPara, endPara, true)، مع تمرير العناصر الأولى في كلا مصفوفتين الفقرات كمعلمات.
  5. استخدم طريقة المساعدة GenerateDocument(Document, extractedNodes) لإنشاء مستند يحتوي على المحتوى المستخرج.
  6. أخيرًا، احفظ المستند المعاد باستخدام طريقة Document.Save(string).

إليك نموذج كود يوضح كيفية استخراج المحتوى بين الفقرات بناءً على الأنماط:

اقرأ المزيد عن استخراج النص

استكشف سيناريوهات أخرى لـ API .NET لاستخراج نصوص مستندات Word في هذه المقالة الوثائقية.

احصل على مكتبة مجانية لاستخراج نصوص Word

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

الخاتمة

Aspose.Words for .NET هي مكتبة متعددة الاستخدامات تسهل عملية استخراج النص من Word باستخدام C# مع الحفاظ على التنسيق. مع ميزاتها الواسعة وواجهة برمجة التطبيقات سهلة الاستخدام، يمكنك العمل بكفاءة مع مستندات Word وأتمتة سيناريوهات متعددة تتعلق بـ التعامل مع الأحرف الخاصة أثناء استخراج نص Word باستخدام C#. سواء كنت تقوم بتطوير تطبيقات تحتاج إلى معالجة مستندات Word أو ببساطة استخراج النص، فإن Aspose.Words for .NET هي أداة قيمة للمطورين.

استكشف الميزات الإضافية لـ Aspose.Words for .NET من خلال الوثائق. إذا كان لديك أي أسئلة، فلا تتردد في التواصل معنا عبر المنتدى.

انظر أيضًا

نصيحة: قد ترغب أيضًا في الاطلاع على محول Aspose PowerPoint إلى Word، الذي يوضح عملية تحويل العروض التقديمية إلى مستندات Word.