جداول در وان‌نوت به سازماندهی اطلاعات کمک می‌کنند، از یادداشت‌های جلسه و لَگ داده‌ها تا برگه‌های مقایسه سریع. در برخی موارد، شما نیاز به استخراج برنامه‌نویسی متن از یک جدول در وان‌نوت دارید. شاید بخواهید محتوای جدول را تجزیه و تحلیل کنید، آنها را به یک پایگاه داده منتقل کنید یا در فرمت دیگری تبدیل کنید.

در این راهنما، ما به شما نشان خواهیم داد که چگونه متن را از جداول در OneNote با استفاده از C# استخراج کنید. شما یاد خواهید گرفت که چگونه متن را از یک جدول کامل، یک ردیف واحد، یا حتی یک سلول فردی با استفاده از مثال‌های ساده و آسان دنبال کنید.

بیایید شروع کنیم.

چرا متن را از جدول‌ها در وان‌نوت استخراج کنیم؟

توسعه‌دهندگان اغلب نیاز دارند داده‌ها را از جداول OneNote برای خودکارسازی، گزارش‌گیری یا یکپارچه‌سازی با سایر سیستم‌ها استخراج کنند. در اینجا چند مثال واقعی آورده شده است:

  • خروج خلاصه‌های جلسه به گزارش‌های ساختاریافته.
  • داده‌های جدولی را از یادداشت‌های مشترک برای تحلیل بخوانید.
  • جدول‌های OneNote را با سیستم‌ها یا داشبوردهای خارجی همگام‌سازی کنید.

به جای کپی دستی داده‌ها، Aspose.Note برای .NET به شما اجازه می‌دهد تا همه این موارد را به طور سریع، یکنواخت و کاملاً خودکار از طریق کد مدیریت کنید.

کتابخانه C# برای استخراج متن از جداول OneNote

Aspose.Note for .NET یک API قوی است که به توسعه‌دهندگان اجازه می‌دهد تا فایل‌های OneNote را در برنامه‌های .NET ایجاد، خوانده، ویرایش و تبدیل کنند. این API مدل‌های شیء غنی را برای دسترسی به عناصری مانند صفحات، متن، تصاویر، خطوط و جدول‌ها پشتیبانی می‌کند. برای استخراج متن از جدول، کلاس Document را ارائه می‌دهد که نمایانگر یک فایل OneNote است، و متدهایی مانند GetChildNodes() را فراهم می‌کند که به توسعه‌دهندگان این امکان را می‌دهد تا به راحتی عناصر جدول را شناسایی و استخراج کنند.

شما می‌توانید آن را از صفحه نسخه‌های Aspose.Note برای .NET دانلود کنید یا با استفاده از NuGet نصب کنید:

PM> Install-Package Aspose.Note

چگونه متن را از جداول در OneNote استخراج کنیم

Aspose.Note این امکان را می‌دهد که متن را از اسناد OneNote در سطوح مختلف استخراج کنید:

  • کل جدول
  • یک ردیف خاص
  • یک سلول منفرد

بیایید هر یک از این مراحل را قدم به قدم مرور کنیم.

چگونه متن را از جدول‌ها در وان‌نوت استخراج کنیم: نمونه جدول

Sample Table

برای یادگیری بیشتر در مورد استخراج متن و تصاویر از مستندات OneNote با استفاده از C#، راهنمای دقیق ما در مورد extracting content from OneNote files را بررسی کنید.

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

ما می‌توانیم به راحتی متن را از تمام جداول موجود در یک سند OneNote با استفاده از Aspose.Note برای .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>();

// تعداد جدول را تنظیم کنید
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>();

// تعداد ردیف‌ها را تنظیم کنید
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. استخراج متن از یک سلول خاص در یک جدول

اگر می‌خواهید حتی عمیق‌تر بروید و متن را از یک سلول خاص استخراج کنید، می‌توانید این کار را نیز انجام دهید. برای این منظور، ما کوچک‌ترین واحد متنی یعنی محتوای هر سلول را بازیابی خواهیم کرد. این ایده‌آل است زمانی که به کنترل دقیق بر استخراج داده‌ها برای پردازش‌های بیشتر یا نقشه‌برداری داده‌ها نیاز دارید.

برای استخراج متن از یک سلول خاص در جدول در وان نوت، مراحل زیر را دنبال کنید:

  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 برای .NET برای استخراج متن استفاده کنیم؟

  • کاملاً به‌صورت آفلاین کار می‌کند بدون استفاده از Microsoft OneNote.
  • متن را با فرمت و ساختار حفظ شده استخراج کنید.
  • از تمام عناصر جدول (سرآیندها، سلول‌ها، جداول تو در تو) پشتیبانی می‌کند.
  • پشتیبانی قوی از LINQ برای فیلتر کردن و جستجوی محتوا ارائه می‌دهد.
  • ادغام آسان با برنامه‌های موجود .NET.

خواه چه ابزارهای تحلیلی بسازید، چه اسکریپت‌های اتوماسیون یا مبدل‌های یادداشت سفارشی، Aspose.Note به شما انعطاف‌پذیری و کنترلی که نیاز دارید را می‌دهد.

شما می‌توانید یک مجوز موقت رایگان از صفحه مجوز Aspose دریافت کنید تا بتوانید Aspose.Note را برای .NET بدون محدودیت آزمایش کنید. تنها یک دقیقه طول می‌کشد تا درخواست دهید و شما قادر خواهید بود تمام ویژگی‌های کتابخانه را آزمایش کنید.

منابع اضافی رایگان

نتیجه گیری

استخراج متن از جداول در OneNote نباید پیچیده باشد. با Aspose.Note برای .NET، شما می‌توانید به راحتی متن را از تمام جداول، ردیف‌های خاص یا سلول‌های فردی با استفاده از فقط چند خط کد C# استخراج کنید. API مدیریت تجزیه، مدیریت گره و پیمایش محتوا را انجام می‌دهد در حالی که شما بر روی استفاده از آن داده‌ها به هر شکلی که نیاز دارید تمرکز می‌کنید.

اگر سوالی دارید یا به کمک در شروع کار نیاز دارید، به فروم پشتیبانی رایگان ما مراجعه کنید تا با تیم Aspose.Note ارتباط برقرار کنید.

سوالات متداول

Q: آیا می‌توانم متن را از یک جدول خاص در مدرک OneNote خود استخراج کنم؟

بله، شما می‌توانید گره‌های جدول را با استفاده از LINQ یا انتخاب مبتنی بر ایندکس فیلتر کنید تا جدول‌های خاصی را برای استخراج هدف قرار دهید.

Q: آیا برای استفاده از Aspose.Note برای .NET باید Microsoft OneNote نصب شده باشد؟

نه، Aspose.Note برای .NET به طور مستقل کار می‌کند و به Microsoft OneNote یا هر نرم‌افزار خارجی دیگری نیاز ندارد.

Q: آیا Aspose.Note برای .NET ساختار جدول را در حین استخراج متن حفظ می کند؟

بله، این ساختار منطقی جداول را حفظ می‌کند و به شما این امکان را می‌دهد که محتوا را از کل جداول، ردیف‌ها یا سلول‌های فردی استخراج کنید در حالی که ترتیب را حفظ می‌کند.

Q: آیا می‌توانم متن فرمت‌شده را از یک جدول OneNote استخراج کنم؟

Aspose.Note عمدتاً متن ساده را استخراج می‌کند. با این حال، اگر به جزئیات فرمت نیاز دارید، می‌توانید به اشیاء متن غنی دسترسی و آن‌ها را پردازش کنید.

Q: آیا Aspose.Note برای .NET با .NET Core و .NET 6+ سازگار است؟

بله، از .NET Framework، .NET Core و جدیدترین نسخه‌های .NET در ویندوز، لینوکس و macOS پشتیبانی می‌کند.

همچنین ببینید