سؤال

أود أن أتمكن من قراءة محتوى مستندات المكتب (للزاحف المخصص).

إصدار المكتب الذي يجب أن يكون قابلاً للقراءة هو من عام 2000 إلى عام 2007.أريد بشكل أساسي أن أقوم بالزحف إلى الكلمات ومستندات Excel وPowerPoint.

لا أريد استرداد التنسيق، فقط النص الموجود فيه.

يعتمد الزاحف على lucene.NET إذا كان ذلك يمكن أن يكون مفيدًا بعض الشيء وهو موجود في c#.

لقد استخدمت بالفعل iTextSharp لتحليل PDF

هل كانت مفيدة؟

المحلول

وهنا أ مشاركة صغيرة لطيفة على c-charpcorner بواسطة Krishnan LN الذي يوفر التعليمات البرمجية الأساسية للحصول على النص من مستند Word باستخدام تجميعات Word Primary Interop.

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

بالنسبة لبرنامج PowerPoint، يمكنك القيام بشيء مماثل، لكنك تحتاج إلى التكرار عبر الشرائح، ثم تكرار التكرار لكل شريحة عبر الأشكال، والحصول على خاصية "TextFrame.TextRange.Text" في كل شكل.

بالنسبة لـ Excel، نظرًا لأن Excel يمكن أن يكون مصدر بيانات OleDb، فمن الأسهل استخدام ADO.NET.وهنا أ مشاركة جيدة من لوران Bugnion الذي يمشي من خلال هذه التقنية.

نصائح أخرى

إذا كنت تستخدم Lucene.NET بالفعل، فقد ترغب فقط في الاستفادة من IFilters المتنوعة المتوفرة بالفعل للقيام بذلك.ألق نظرة على المصدر المفتوح SeekAFile مشروع.سيوضح لك كيفية استخدام IFilter لفتح هذه المعلومات واستخراجها من أي نوع ملف يتوفر فيه IFilter.توجد IFilters لـ Word وExcel وPowerpoint وPDf ومعظم أنواع المستندات الشائعة الأخرى.

هناك مشروع مفتوح المصدر ممتاز النقاط المهمة, ، العيب الوحيد - هو مكتوب لجافا.ال منفذ صافي بطريقة أو بأخرى بيتا جدا.

هنا هي قائمة جيدة من الأدوات المتنوعة لتحويل مستندات Word إلى نص عادي، والتي يمكنك بعد ذلك القيام بأي شيء بها.

قد تفكر أيضًا في التحقق من DtSearch (www.DtSearch.com).على الرغم من أنها أداة بحث في المقام الأول، إلا أنها تقوم بعمل رائع في استخراج النص من عدد كبير من أنواع الملفات وهي أرخص بكثير من الخيارات الأخرى مثل تقنية Oracle/Stellent OutsideIn أو ما يعادلها من Autonomy.

لقد كنت أستخدم DtSearch منذ سنوات وأجد أنه لا غنى عنه لهذا النوع من المهام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top