透過 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.NoteNotion.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 中父頁面上的三個點並取得該頁面的連結。該連結將包含下一步所需的標識符。

Extract Text ftom Onenote to 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 還允許載入文件、渲染文字和圖像、瀏覽文件物件模型、從文件的任何部分提取文字等等。

Have a Questions, Comments, Suggestions Write Us!

  Write Us
 

關於 Microsoft OneNote 文件

.ONE 副檔名表示的檔案是由 Microsoft OneNote 應用程式建立的。 OneNote 允許您使用該應用程式收集信息,就像使用草稿板做筆記一樣。 OneNote 檔案可以包含不同的元素,這些元素可以放置在文件頁面上的非固定位置。這些元素可能包含文字、數位化手寫內容以及從其他應用程式複製的對象,包括圖像、繪圖和多媒體(音訊/視訊)剪輯。 Microsoft 現在提供 OneNote 線上版本,作為 Office365 的一部分,可以透過網路與其他 OneNote 使用者共用筆記。

關於 Notion 檔案格式

不幸的是,Notion 沒有像傳統文件那樣單一、特定的文件格式。它使用專有的資料庫格式來儲存和管理您的資訊。 Notion 作為一個集筆記、任務管理和協作為一體的一體化工作空間運作。另外值得注意的是,Notion 主要作為基於雲端的服務運行,最終用戶經常透過 Notion 應用程式或 Web 介面與資料交互,而不是直接處理特定的文件格式。這表示您無法在其他軟體中直接開啟或編輯單一 Notion 頁面。

.NET 支援的其他 OneNote 轉換

您也可以將 OneNote 轉換為許多其他文件格式:

HTML TO ONE (HyperText Markup Language)
ONE TO BMP (Bitmap Image File)
ONE TO GIF (Graphic Image File)
ONE TO JPEG (JPEG Image)
ONE TO PDF (Portable Document Format)
ONE TO PNG (Portable Network Graphics)
ONE TO TIFF (Tagged Image File Format)
ONE TO NOTION (Rich Text Database Format.)
ONE TO OBSIDIAN (OneNote Section File Format.)
EVERNOTE TO ONE (Evernote Note Export Format.)
OBSIDIAN TO ONE (Markdown Plain Text File Format.)
ONE TO NOTABLE (Notable Markdown File Format.)
ONE TO ZETTLR (Zettlr Markdown File Format.)
ONE TO JOPLIN (Joplin Markdown File Format.)
ONE TO TYPORA (Typora Markdown File Format.)
ONE TO MARKDOWN (Generic Markdown File Format.)
ONE TO HTML (HyperText Markup Language.)
PDF TO ONE (Portable Document Format)
MARKDOWN TO ONE (Markdown Plain Text File Format.)
HTML TO ONE Import (HyperText Markup Language Using String Method)