透過 C# 將 OneNote 轉換為 Notion
將 Microsoft® OneNote 匯出到 .NET Framework、.NET Core 上的 Notion。
如何使用 C# 將 OneNote 轉換為 Notion
為了將 OneNote 轉換為 Notion,我們將使用 Aspose.Note for .NET API,這是一個功能豐富的 API ,適用於C# 平台的強大且易於使用的文件操作和轉換API。開啟 NuGet 套件管理器,搜尋 Aspose.Note 並安裝。您也可以從套件管理器控制台使用以下命令。
Package Manager Console Command
PM> Install-Package Aspose.Note
將文字資料從 OneNote 匯出到 Notion 的步驟
在本教程中,我們將引導您完成使用 C# 將文字資料從 OneNote 傳輸到 Notion 的過程。我們將介紹四個主要步驟:從OneNote 文件中檢索文字數據,連接到您的Notion 帳戶,在Notion 中建立新頁面,最後將所有這些步驟合併到一個用於傳輸文字資料的腳本中,您將需要以下函式庫 Aspose.Note 和 Notion.Net
將文字資料從 OneNote 匯出到 Notion 的步驟
第 1 步:從 OneNote 檢索文字數據
以下是從 OneNote 文件中提取所有文字資料的範例程式碼片段:
var documentPath = "";
var document = new Document(documentPath);
foreach (var oneNotePage in document)
{
var oneNoteAllRichText = oneNotePage.GetChildNodes<RichText>();
}
第 2 步:連接到您的 Notion 帳戶
在開始之前,您需要 建立整合 並找到令牌。您可以在 此處 了解更多有關授權的資訊。
var authToken = "";
var client = NotionClientFactory.Create(new ClientOptions
{
AuthToken = authToken
});
第三步:在Notion中取得父頁面標識符
點擊 Notion 中父頁面上的三個點並取得該頁面的連結。該連結將包含下一步所需的標識符。
第四步:在Notion中建立一個新頁面
下面的程式碼用於在 Notion 中建立一個新頁面:
var authToken = "";
var parentPageId = "";
var client = NotionClientFactory.Create(new ClientOptions
{
AuthToken = authToken
});
var page = await client.Pages.RetrieveAsync(parentPageId);
var pagesCreateParametersBuilder = PagesCreateParametersBuilder
.Create(new ParentPageInput { PageId = page.Id })
.AddProperty("title",
new TitlePropertyValue
{
Title = new List<RichTextBase>
{
new RichTextTextInput { Text = new Text { Content = “New page title”} }
}
});
var pagesCreateParameters = pagesCreateParametersBuilder.Build();
var pageCreate = await client.Pages.CreateAsync(pagesCreateParameters);
第 5 步:合併所有步驟
結合前面的所有步驟,我們得到以下用於將文字資料從 OneNote 傳輸到 Notion 的程式碼:
public static async Task Main(string[] args)
{
var documentPath = "";
var authToken = "";
var parentPageId = "";
var document = new Document(documentPath);
var client = NotionClientFactory.Create(new ClientOptions
{
AuthToken = authToken
});
var page = await client.Pages.RetrieveAsync(parentPageId);
foreach (var oneNotePage in document)
{
var oneNoteAllRichText = oneNotePage.GetChildNodes<RichText>();
var pagesCreateParametersBuilder = PagesCreateParametersBuilder
.Create(new ParentPageInput { PageId = page.Id })
.AddProperty("title",
new TitlePropertyValue
{
Title = new List<RichTextBase>
{
new RichTextTextInput { Text = new Text { Content = oneNotePage.Title.TitleText.Text } }
}
});
foreach (var richText in oneNoteAllRichText)
{
if (richText.IsTitleDate || richText.IsTitleText || richText.IsTitleTime)
{
continue;
}
pagesCreateParametersBuilder.AddPageContent(new ParagraphBlock
{
Paragraph = new ParagraphBlock.Info
{
RichText = new List<RichTextBase> {
new RichTextText
{
Text = new Text { Content = richText.Text }
}
}
}
});
}
var pagesCreateParameters = pagesCreateParametersBuilder.Build();
var pageCreate = await client.Pages.CreateAsync(pagesCreateParameters);
}
}
透過執行這些步驟並利用提供的程式碼片段,您可以使用 C# 將文字資料從 OneNote 無縫傳輸到 Notion。
一個獨立的 OneNote 文檔操作庫,能夠讀取、建立、編輯和轉換 Microsoft OneNote 文件。 OneNote API 還允許載入文件、渲染文字和圖像、瀏覽文件物件模型、從文件的任何部分提取文字等等。
關於 Microsoft OneNote 文件
.ONE 副檔名表示的檔案是由 Microsoft OneNote 應用程式建立的。 OneNote 允許您使用該應用程式收集信息,就像使用草稿板做筆記一樣。 OneNote 檔案可以包含不同的元素,這些元素可以放置在文件頁面上的非固定位置。這些元素可能包含文字、數位化手寫內容以及從其他應用程式複製的對象,包括圖像、繪圖和多媒體(音訊/視訊)剪輯。 Microsoft 現在提供 OneNote 線上版本,作為 Office365 的一部分,可以透過網路與其他 OneNote 使用者共用筆記。
關於 Notion 檔案格式
不幸的是,Notion 沒有像傳統文件那樣單一、特定的文件格式。它使用專有的資料庫格式來儲存和管理您的資訊。 Notion 作為一個集筆記、任務管理和協作為一體的一體化工作空間運作。另外值得注意的是,Notion 主要作為基於雲端的服務運行,最終用戶經常透過 Notion 應用程式或 Web 介面與資料交互,而不是直接處理特定的文件格式。這表示您無法在其他軟體中直接開啟或編輯單一 Notion 頁面。
.NET 支援的其他 OneNote 轉換
您也可以將 OneNote 轉換為許多其他文件格式: