Извлечение текста и изображений из документов OneNote с помощью C#

Мы собираем, систематизируем и совместно используем заметки и идеи в документах OneNote. Это своего рода цифровая записная книжка, используемая для заметок и обмена ими с другими пользователями OneNote. В некоторых случаях нам может потребоваться извлечь текст или изображения из документов OneNote программно, без использования MS OneNote. В этой статье мы узнаем, как извлекать текст и изображения из документов OneNote с помощью C#.

В этой статье должны быть раскрыты следующие темы:

OneNote Text and Image Extractor C# API

Для извлечения текста и изображений из документа OneNote мы будем использовать API Aspose.Note для .NET. Это многофункциональный API для работы с документами OneNote, который позволяет программно создавать, читать и преобразовывать документы OneNote. Пожалуйста, загрузите DLL API или установите его с помощью NuGet.

PM> Install-Package Aspose.Note

Извлечь весь текст из документов OneNote

Мы можем легко извлечь весь текст из документа 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

Мы можем извлечь текст с определенных страниц документа 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

Мы также можем извлечь изображения из документа 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 для .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также