تساعد الجداول في OneNote في الحفاظ على المعلومات منظمة، من ملاحظات الاجتماعات وسجلات البيانات إلى أوراق المقارنة السريعة. هناك حالات معينة عندما تحتاج إلى استخراج النص برمجيًا من جدول في OneNote. ربما تريد تحليل محتويات الجدول، نقلها إلى قاعدة بيانات، أو تحويلها إلى تنسيق آخر.

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

لنبدأ.

لماذا استخراج النص من الجداول في OneNote؟

غالبًا ما يحتاج المطورون إلى استخراج البيانات من جداول OneNote من أجل التشغيل الآلي أو التقارير أو التكامل مع أنظمة أخرى. فيما يلي بعض الأمثلة من الواقع:

  • تصدير ملخصات الاجتماعات إلى تقارير منظمة.
  • اقرأ البيانات الجدولية من الملاحظات المشتركة للتحليل.
  • مزامنة جداول OneNote مع الأنظمة أو لوحات البيانات الخارجية.

بدلاً من نسخ البيانات يدويًا، يسمح لك Aspose.Note for .NET بالتعامل مع كل هذا من خلال الكود بطريقة سريعة ومتسقة وآلية بالكامل.

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

Aspose.Note for .NET هو واجهة برمجة تطبيقات قوية تتيح للمطورين إنشاء وقراءة وتحرير وتحويل ملفات OneNote في تطبيقات .NET. إنه يدعم نماذج كائنات غنية للوصول إلى عناصر مثل الصفحات والنصوص والصور والمخططات والجداول. لاستخراج نصوص الجداول، يوفر فئة Document، التي تمثل ملف OneNote، وطرق مثل GetChildNodes()، مما يسمح للمطورين بسهولة بتحديد واستخراج عناصر الجدول.

يمكنك تنزيله من صفحة إصدارات Aspose.Note for .NET أو تثبيته باستخدام NuGet:

PM> Install-Package Aspose.Note

كيفية استخراج النص من الجداول في OneNote

يتيح Aspose.Note استخراج النص من مستندات OneNote على مستويات مختلفة:

  • الجدول بالكامل
  • صف محدد
  • خلية فردية

دعنا نمر عبر كل من هذه الخطوات خطوة بخطوة.

كيفية استخراج النص من الجداول في OneNote: جدول عينة

Sample Table

لمعرفة المزيد عن استخراج النصوص والصور من مستندات OneNote باستخدام C#، تحقق من الدليل الخاص بنا حول استخراج المحتوى من ملفات OneNote.

1. استخراج النص من الجدول في OneNote باستخدام C#

يمكننا بسهولة استخراج النص من جميع الجداول المتاحة في مستند OneNote باستخدام Aspose.Note for .NET. سوف نمر بعملية الوصول إلى عقد الجداول، وقراءة محتواها، وعرض النص المستخرج بصيغة قابلة للقراءة.

اتبع الخطوات أدناه لاستخراج النص من الجداول في مستند OneNote:

  1. قم بتحميل ملف .one باستخدام فئة Document.
  2. استخدم طريقة GetChildNodes<Table>() لاسترجاع جميع عقد الجدول.
  3. تكرار عبر كل جدول واستخراج محتواه النصي.
  4. طباعة النتائج على وحدة التحكم.

يظهر المثال التالي من الشيفرة كيفية استخراج النص من جميع الجداول في مستند OneNote.

using Aspose.Note;

// قم بتحميل الوثيقة إلى Aspose.Note.
Document document = new Document("SampleTable.one");

// احصل على قائمة من عقد الجدول
IList<Table> nodes = document.GetChildNodes<Table>();

// Set table count
int tblCount = 0;

foreach (Table table in nodes)
{
    tblCount++;
    Console.WriteLine("Table # " + tblCount);

    // Retrieve text
    string text = string.Join(Environment.NewLine,
        table.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

    // Print text on the output screen
    Console.WriteLine(text);
}

Output

Table # 1
cell_1.1
cell_1.2
cell_1.3
cell_2.1
cell_2.2
cell_2.3

2. استخراج النص من صف محدد في جدول OneNote

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

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

  1. قم بتحميل ملف OneNote باستخدام فئة Document.
  2. احصل على قائمة بعقد الجدول.
  3. قم بالتكرار عبر كل جدول، ثم عبر كل صف.
  4. استخراج وعرض النص من كل صف.

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

using Aspose.Note;

// قم بتحميل المستند إلى Aspose.Note.
Document document = new Document("SampleTable.one");

// احصل على قائمة بعقد الجدول
IList<Table> nodes = document.GetChildNodes<Table>();

// Set row count
int rowCount = 0;

foreach (Table table in nodes)
{
    // تكرار عبر صفوف الجدول
    foreach (TableRow row in table)
    {
        rowCount++;
        // Retrieve text
        string text = string.Join(Environment.NewLine,
            row.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

        // Print text on the output screen
        Console.WriteLine($"Row #{rowCount}:");
        Console.WriteLine(text);
    }
}

Output

Row #1:
cell_1.1
cell_1.2
cell_1.3

Row #2:
cell_2.1
cell_2.2
cell_2.3

3. استخراج النص من خلية معينة في جدول

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

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

  1. قم بتحميل مستند OneNote باستخدام فئة Document.
  2. استرجع عقد الجدول باستخدام GetChildNodes<Table>().
  3. قم بالتكرار عبر كل جدول وصفوفه.
  4. استخراج عقد الخلايا باستخدام GetChildNodes<TableCell>().
  5. استخراج النص من كل خلية وعرضه.

يوضح مثال الشيفرة التالي كيفية الحصول على نص الخلية من صف في جدول باستخدام C#:

using Aspose.Note;

// قم بتحميل المستند في Aspose.Note.
Document document = new Document("SampleTable.one");

// احصل على قائمة بعقد الجدول
IList<Table> nodes = document.GetChildNodes<Table>();

foreach (Table table in nodes)
{
    // تكرار عبر صفوف الجدول
    foreach (TableRow row in table)
    {
        // احصل على قائمة من عقد TableCell
        IList<TableCell> cellNodes = row.GetChildNodes<TableCell>();
        // تكرار عبر خلايا الجدول
        foreach (TableCell cell in cellNodes)
        {
            // Retrieve text
            string text = string.Join(Environment.NewLine,
                cell.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;
            // Print text on the output screen
            Console.WriteLine(text);
        }
    }
}

Output

cell_1.1

cell_1.2

cell_1.3

cell_2.1

cell_2.2

cell_2.3

لماذا نستخدم Aspose.Note for .NET لاستخراج النص؟

  • يعمل بالكامل دون الاتصال بالإنترنت دون استخدام Microsoft OneNote.
  • Extracts text with formatting and structure preserved.
  • يدعم جميع عناصر الجدول (الرؤوس، الخلايا، الجداول المتداخلة).
  • يقدم دعمًا قويًا لـ LINQ لتصفية واستعلام المحتوى.
  • سهولة التكامل مع تطبيقات .NET الحالية.

سواء كنت تبني أدوات تحليلية، أو نصوص أتمتة، أو محولات ملاحظات مخصصة، فإن Aspose.Note يمنحك المرونة والتحكم الذي تحتاجه.

يمكنك الحصول على ترخيص مؤقت مجاني من صفحة ترخيص Aspose لتجربة Aspose.Note for .NET دون قيود. يستغرق الأمر دقيقة واحدة فقط لتقديم الطلب، وسيكون بإمكانك اختبار جميع ميزات المكتبة.

موارد إضافية مجانية

خاتمة

استخراج النص من الجداول في OneNote لا يجب أن يكون معقدًا. مع Aspose.Note for .NET، يمكنك بسهولة الحصول على نص من الجداول الكاملة، أو الصفوف المحددة، أو الخلايا الفردية باستخدام بضع أسطر فقط من كود C#. تتولى واجهة البرمجة تطبيقات إدارة التحليل وإدارة العقد وعبور المحتوى بينما تركز على استخدام تلك البيانات كما تحتاج.

إذا كان لديك أي أسئلة أو تحتاج إلى مساعدة للبدء، قم بزيارة منتدى الدعم المجاني للتواصل مع فريق Aspose.Note.

FAQs

Q: هل يمكنني استخراج النص من جدول معين في مستند OneNote الخاص بي؟

نعم، يمكنك تصفية عناصر الجدول باستخدام LINQ أو الاختيار القائم على الفهارس لاستهداف جداول محددة للاستخراج.

Q: هل أحتاج إلى تثبيت Microsoft OneNote لاستخدام Aspose.Note for .NET؟

لا، Aspose.Note for .NET يعمل بشكل مستقل ولا يتطلب Microsoft OneNote أو أي برنامج خارجي آخر.

س: هل يحافظ Aspose.Note for .NET على هيكل الجدول أثناء استخراج النص؟

نعم، إنه يحافظ على الهيكل المنطقي للجداول، مما يتيح لك استخراج المحتوى من جداول كاملة، أو صفوف، أو خلايا فردية مع الحفاظ على الترتيب.

Q: هل يمكنني استخراج نص منسق من جدول OneNote؟

أسبوز.نوت تستخرج بشكل أساسي النصوص العادية. ومع ذلك، يمكنك الوصول إلى ومعالجة كائنات النص الغني إذا كنت بحاجة إلى تفاصيل التنسيق.

Q: هل Aspose.Note for .NET متوافق مع .NET Core و .NET 6+؟

نعم، إنه يدعم .NET Framework و .NET Core والإصدارات الأحدث من .NET عبر Windows و Linux و macOS.

انظر أيضًا