Мы собираем, систематизируем и совместно используем заметки и идеи в документах OneNote. Это своего рода цифровая записная книжка, используемая для заметок и обмена ими с другими пользователями OneNote. В некоторых случаях нам может потребоваться извлечь текст или изображения из документов OneNote программно, без использования MS OneNote. В этой статье мы узнаем, как извлекать текст и изображения из документов OneNote с помощью C#.
В этой статье должны быть раскрыты следующие темы:
- OneNote Text and Image Extractor C# API
- Извлечь весь текст из документов OneNote
- Получить текст с определенных страниц документов OneNote
- Извлечение изображений из документов OneNote
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, выполнив следующие шаги:
- Во-первых, загрузите файл OneNote с помощью класса Document.
- После этого вызовите метод GetChildNodes с RichText как NodeType для извлечения текста.
- Наконец, покажите извлеченный текст.
В следующем примере кода показано, как извлечь весь текст из файла 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 с помощью класса Document.
- Затем вызовите метод GetChildNodes с Page в качестве NodeType для извлечения страниц.
- После этого получите список текстовых элементов с помощью метода GetChildNodes с RichText в качестве NodeType.
- Наконец, покажите извлеченный текст.
В следующем примере кода показано, как извлечь текст из определенной страницы файла 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, выполнив следующие действия:
- Во-первых, загрузите файл OneNote с помощью класса Document.
- После этого получите список изображений с помощью метода GetChildNodes с Image в качестве NodeType.
- Наконец, покажите свойства изображения и сохраните его на локальный диск.
В следующем примере кода показано, как извлечь изображения из файла 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. Кроме того, вы можете узнать больше об Aspose.Note для .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.