通过 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 转换为许多其他文件格式: