
我們在 OneNote 文檔中收集、組織和協作筆記和想法。它是一種用於記錄筆記並與其他 OneNote 用戶共享的數字筆記本。在某些情況下,我們可能需要在不使用 MS OneNote 的情況下以編程方式從 OneNote 文檔中提取文本或圖像。在本文中,我們將學習如何使用 C# 從 OneNote 中提取文本和圖像。
本文應涵蓋以下主題:
從 OneNote 中提取文本和圖像的 C# API
為了從 OneNote 文檔中提取文本和圖像,我們將使用 Aspose.Note for .NET API。它是一個功能豐富的 OneNote 文檔操作 API,可讓您以編程方式創建、讀取和轉換 OneNote 文檔。請 下載 API 的 DLL 或使用 NuGet 安裝它。
PM> Install-Package Aspose.Note
C# 從 OneNote 中提取所有文本
我們可以按照下面給出的步驟輕鬆地從 OneNote 文檔中提取所有文本:
- 首先,使用 Document 類加載一個 OneNote 文件。
- 之後,以RichText為NodeType調用GetChildNodes方法提取文本。
- 最後,顯示提取的文本。
下面的代碼示例展示瞭如何使用 C# 從 OneNote 文件中提取所有文本。
// 此代碼示例演示如何從 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 文檔中提取所有文本。
C# 從 OneNote 的特定頁面中提取文本
我們可以按照以下步驟從 OneNote 文檔的特定頁面中提取文本:
- 首先,使用 Document 類加載一個 OneNote 文件。
- 接下來,以Page為NodeType調用GetChildNodes方法來提取頁面。
- 之後,使用 RichText 作為 NodeType 的 GetChildNodes 方法獲取文本項列表。
- 最後,顯示提取的文本。
下面的代碼示例展示瞭如何使用 C# 從 OneNote 文件的特定頁面中提取文本。
// 此代碼示例演示如何從特定頁面獲取文本。
// 從頁面節點列表中獲取第一頁
var page = oneFile.GetChildNodes<Page>().FirstOrDefault();
if (page != null)
{
// 檢索文本
IList<RichText> textNodes = page.GetChildNodes<RichText>();
foreach (RichText t in textNodes)
{
// 打印文本
Console.WriteLine(t.Text);
}
}
在 C# 中從 OneNote 中提取圖像
我們也可以按照以下步驟從 OneNote 文檔中提取圖片:
- 首先,使用 Document 類加載一個 OneNote 文件。
- 之後,使用 GetChildNodes 方法獲取圖像列表,其中 Image 作為 NodeType。
- 最後,顯示圖像屬性並保存到本地磁盤。
下面的代碼示例展示瞭如何使用 C# 從 OneNote 文件中提取圖像。
// 此代碼示例演示如何提取所有圖像。
// 獲取所有圖像節點
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 文檔中提取圖像。此外,您可以使用 文檔 了解有關 Aspose.Note for .NET API 的更多信息。如有任何歧義,請隨時在論壇上與我們聯繫。