Вилучення тексту та зображень із OneNote у C#

Ми збираємо, упорядковуємо та співпрацюємо з нотатками та ідеями в документах OneNote. Це свого роду цифровий блокнот, який використовується для створення нотаток і обміну ними з іншими користувачами OneNote. У деяких випадках нам може знадобитися отримати текст або зображення з документів OneNote програмним шляхом без використання MS OneNote. У цій статті ми дізнаємося, як видобувати текст і зображення з OneNote у C#.

У цій статті будуть розглянуті такі теми:

C# API для вилучення тексту та зображень із OneNote

Для отримання тексту та зображень із документа OneNote ми будемо використовувати API Aspose.Note for .NET. Це багатофункціональний API для обробки документів OneNote, який дозволяє створювати, читати та конвертувати документи OneNote програмним шляхом. Завантажте DLL API або встановіть його за допомогою NuGet.

PM> Install-Package Aspose.Note

Витягніть увесь текст із OneNote у C#

Ми можемо легко витягти весь текст із документа OneNote, виконавши наведені нижче дії.

  1. По-перше, завантажте файл OneNote за допомогою класу Document.
  2. Після цього викличте метод GetChildNodes із RichText як NodeType, щоб отримати текст.
  3. Нарешті, покажіть витягнутий текст.

У наведеному нижче прикладі коду показано, як витягти весь текст із файлу OneNote за допомогою C#.

// Цей приклад коду демонструє, як витягти весь текст із документа OneNote.
// Завантажте документ в Aspose.Note.
Document oneFile = new Document(@"C:\Files\Note\Aspose.one");

// Отримати текст
string text = string.Join(Environment.NewLine, oneFile.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

// Роздрукувати текст
Console.WriteLine(text);
Витягніть увесь текст із документів OneNote.

Витягніть увесь текст із документів OneNote.

Вилучення тексту з певних сторінок OneNote у C#

Ми можемо отримати текст із певних сторінок документа OneNote, виконавши наведені нижче дії.

  1. По-перше, завантажте файл OneNote за допомогою класу Document.
  2. Потім викличте метод GetChildNodes зі значенням Page як NodeType, щоб видобути сторінки.
  3. Після цього отримайте список текстових елементів за допомогою методу GetChildNodes з RichText як NodeType.
  4. Нарешті, покажіть витягнутий текст.

У наведеному нижче прикладі коду показано, як отримати текст із певної сторінки файлу OneNote за допомогою C#.

// Цей приклад коду демонструє, як отримати текст із певної сторінки.
// Отримати першу сторінку зі списку вузлів сторінки
var page = oneFile.GetChildNodes<Page>().FirstOrDefault();

if (page != null)
{
    // Отримати текст
    IList<RichText> textNodes = page.GetChildNodes<RichText>();

    foreach (RichText t in textNodes)
    {
        // Роздрукувати текст
        Console.WriteLine(t.Text);
    }
}

Видобуток зображень із OneNote у C#

Ми також можемо отримати зображення з документа OneNote, виконавши наведені нижче дії.

  1. По-перше, завантажте файл OneNote за допомогою класу Document.
  2. Після цього отримайте список зображень за допомогою методу GetChildNodes із Image як NodeType.
  3. Нарешті, покажіть властивості зображення та збережіть його на локальному диску.

У наведеному нижче прикладі коду показано, як отримати зображення з файлу OneNote за допомогою C#.

// Цей приклад коду демонструє, як витягнути всі зображення.
// Отримати всі вузли зображення
IList<Aspose.Note.Image> nodes = oneFile.GetChildNodes<Aspose.Note.Image>();

foreach (Aspose.Note.Image image in nodes)
{
    Console.WriteLine("Width: {0}", image.Width);
    Console.WriteLine("Height: {0}", image.Height);
    Console.WriteLine("OriginalWidth: {0}", image.OriginalWidth);
    Console.WriteLine("OriginalHeight: {0}", image.OriginalHeight);
    Console.WriteLine("FileName: {0}", image.FileName);
    Console.WriteLine("LastModifiedTime: {0}", image.LastModifiedTime);

    using (MemoryStream stream = new MemoryStream(image.Bytes))
    {
        using (Bitmap bitMap = new Bitmap(stream))
        {
            // Зберегти байти зображення у файл
            bitMap.Save(String.Format(@"C:\Files\Note\" + "{0}", Path.GetFileName(image.FileName)));
        }
    }

    Console.WriteLine("Image saved!");
    Console.WriteLine();
}
Видобування зображень із документів OneNote.

Видобування зображень із документів OneNote.

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.

Висновок

У цій статті ми дізналися, як отримати текст із документа OneNote або з певних сторінок документа. Ми також бачили, як програмно витягувати зображення з документів OneNote. Крім того, ви можете дізнатися більше про Aspose.Note for .NET API, використовуючи документацію. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також