onenote是一款十分好用的笔记本工具,我想将onenote笔记本转换成html并上传到我的云服务器中,这样在别的主机上就可以查看我做过的笔记。onenote本身并不支持笔记保存为html格式,不过无所不能的插件”Gem for Onenote”有这个功能,只是一个个转换过于麻烦,于是使用aspose.note for .Net将onenote笔记本批量转换成html。
aspose系列提供了word,pdf,excel等文件的操作接口,aspose.note for .Net顾名思义就是用.Net库对onenote文件进行操作。
安装
在官网上下载aspose.note for .Net,(下载链接戳这里) ,用visual studio新建一个工程,在引用里添加下载的dll文件,就可以使用aspose.note了。
简介和demo
按照我的理解,aspose.note是将一个onenote文件划分成很多个层级,用一种类似于DOM的文档结构模型来表述文件。一个页面上的元素称之为节点(Node),节点又分为CompositeNode和Node,区别在于前者可以包含其它Node,后者不能。页面元素大多继承自这两个基类。
举个例子,一个Document节点由很多个Page子节点构成,Page节点又由Title,Image,RichText等节点构成。每种节点都有相应的类,对其实例化后就可以进行具体的页面元素操作。
官网上有很多demo,举一个将onenote笔记本保存为pdf格式的例子:
// For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Note-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
// Load the document into Aspose.Note.
Document oneFile = new Document(dataDir + "Aspose.one");
dataDir = dataDir + "SaveWithDefaultSettings_out.pdf";
// Save the document as PDF
oneFile.Save(dataDir, SaveFormat.Pdf);
Save()方法有两个参数,第一个参数是路径名称,第二个参数可以是一个枚举类型SaveFormat,指定保存类型,还可以是SaveOptions及其子类的实例化对象,SaveOptions对象可以在保存时进一步设置,例如从第二页开始保存可以这么写:
// For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Note-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
// Load the document into Aspose.Note.
Document oneFile = new Document(dataDir + "Aspose.one");
// Initialize