通过 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)