Class Notebook

Notebook class

代表一个Aspose.Note笔记本。

public class Notebook : IEnumerable<INotebookChildNode>, INotebookChildNode

构造函数

姓名描述
Notebook()初始化一个新的实例Notebook类.
Notebook(Stream)初始化一个新的实例Notebook class. 从流中打开一个现有的 OneNote 笔记本。
Notebook(string)初始化一个新的实例Notebook class. 从文件中打开现有的 OneNote 笔记本。
Notebook(Stream, NotebookLoadOptions)初始化一个新的实例Notebook class. 从流中打开现有的 OneNote 笔记本。允许指定额外的加载选项。
Notebook(string, NotebookLoadOptions)初始化一个新的实例Notebook class. 从文件中打开现有的 OneNote 笔记本。允许指定其他选项,例如子加载策略(“惰性”/即时)。

特性

姓名描述
Color { get; set; }获取或设置颜色。
Count { get; }获取包含的元素个数Notebook.
DisplayName { get; set; }获取或设置显示名称。
FileFormat { get; }获取文件格式(OneNote 2010、OneNote Online)。
Guid { get; }获取对象的全局唯一id。
IsHistoryEnabled { get; set; }获取或设置是否启用历史记录的值。
Item { get; }通过给定的索引获取笔记本子节点。

方法

姓名描述
AppendChild(INotebookChildNode)将节点添加到列表的末尾。
GetChildNodes<T1>()根据节点类型获取所有子节点。
GetEnumerator()返回一个遍历子节点的枚举器Notebook.
LoadChildDocument(Stream)添加子文档节点。 从流中打开现有的 OneNote 文档。
LoadChildDocument(string)添加子文档节点。 从文件中打开现有的 OneNote 文档。
LoadChildDocument(Stream, LoadOptions)添加子文档节点。 从流中打开现有的 OneNote 文档。允许指定额外的加载选项。
LoadChildDocument(string, LoadOptions)添加子文档节点。 从文件中打开现有的 OneNote 文档。允许指定额外的加载选项。
LoadChildNotebook(Stream)添加子笔记本节点。 从流中打开现有的 OneNote 笔记本。
LoadChildNotebook(string)添加子笔记本节点。 从文件中打开现有的 OneNote 笔记本。
LoadChildNotebook(Stream, NotebookLoadOptions)添加子笔记本节点。 从流中打开现有的 OneNote 笔记本。允许指定额外的加载选项。
LoadChildNotebook(string, NotebookLoadOptions)添加子笔记本节点。 从文件中打开现有的 OneNote 笔记本。允许指定额外的加载选项。
RemoveChild(INotebookChildNode)删除子节点。
Save(Stream)将 OneNote 文档保存到流中。
Save(string)将 OneNote 文档保存到文件中。
Save(Stream, NotebookSaveOptions)使用指定的保存选项将 OneNote 文档保存到流中。
Save(Stream, SaveFormat)以指定格式将 OneNote 文档保存到流中。
Save(string, NotebookSaveOptions)使用指定的保存选项将 OneNote 文档保存到文件。
Save(string, SaveFormat)将 OneNote 文档保存为指定格式的文件。

例子

显示如何保存笔记本。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();

var notebook = new Notebook();

dataDir = dataDir + "test_out.onetoc2";

// 保存笔记本
notebook.Save(dataDir);

显示如何以 pdf 格式保存笔记本。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();

// 加载一个 OneNote 笔记本
var notebook = new Notebook(dataDir + "Notizbuch �ffnen.onetoc2");

dataDir = dataDir + "ConvertToPDF_out.pdf";

// 保存笔记本
notebook.Save(dataDir);

显示如何将笔记本另存为图像。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();

// 加载一个 OneNote 笔记本
var notebook = new Notebook(dataDir + "Notizbuch �ffnen.onetoc2");

dataDir = dataDir + "ConvertToImage_out.png";

// 保存笔记本
notebook.Save(dataDir);

演示如何从笔记本中获取所有文本。

string inputFile = "notebook.onetoc2";
string dataDir = RunExamples.GetDataDir_NoteBook();

Notebook rootNotebook = new Notebook(dataDir + inputFile);

IList<RichText> allRichTextNodes = rootNotebook.GetChildNodes<RichText>();
foreach (RichText richTextNode in allRichTextNodes)
{
    Console.WriteLine(richTextNode.Text);
}

展示如何以 pdf 格式保存扁平笔记本。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();

// 加载一个 OneNote 笔记本
var notebook = new Notebook(dataDir + "Notizbuch �ffnen.onetoc2");

// 保存笔记本
dataDir = dataDir + "ConvertToPDFAsFlattened_out.pdf";
notebook.Save(
    dataDir,
    new NotebookPdfSaveOptions
    {
        Flatten = true
    });

展示如何遍历延迟加载的笔记本文档。

string inputFile = "Notizbuch öffnen.onetoc2";
string dataDir = RunExamples.GetDataDir_NoteBook();

// 默认情况下,子加载是“惰性”的。
Notebook notebook = new Notebook(dataDir + inputFile);

foreach (var notebookChildNode in notebook.OfType<Document>()) 
{
    // 子文档的实际加载只发生在这里。
    // 对子文档做一些事情
}

演示如何向笔记本添加新部分。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();

// 加载一个 OneNote 笔记本
var notebook = new Notebook(dataDir + "Notizbuch �ffnen.onetoc2");

// 添加一个新的孩子到笔记本
notebook.AppendChild(new Document(dataDir + "Neuer Abschnitt 1.one"));

dataDir = dataDir + "AddChildNode_out.onetoc2";

// 保存笔记本
notebook.Save(dataDir);

展示如何从流中加载笔记本。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();

FileStream stream = new FileStream(dataDir + "Notizbuch öffnen.onetoc2", FileMode.Open);

var notebook = new Notebook(stream);

using (FileStream childStream = new FileStream(dataDir + "Aspose.one", FileMode.Open))
{
    notebook.LoadChildDocument(childStream);
}

notebook.LoadChildDocument(dataDir + "Sample1.one");

展示如何加密笔记本。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();
var notebook = new Notebook(dataDir + "test.onetoc2", new NotebookLoadOptions() { DeferredLoading = true });

notebook.LoadChildDocument(dataDir + "Aspose.one");  
notebook.LoadChildDocument(dataDir + "Locked Pass1.one", new LoadOptions() { DocumentPassword = "pass" });
notebook.LoadChildDocument(dataDir + "Locked Pass2.one", new LoadOptions() { DocumentPassword = "pass2" });

显示如何使用指定选项将笔记本另存为图像。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();

// 加载一个 OneNote 笔记本
var notebook = new Notebook(dataDir + "Notizbuch �ffnen.onetoc2");

var notebookSaveOptions = new NotebookImageSaveOptions(SaveFormat.Png);

var documentSaveOptions = notebookSaveOptions.DocumentSaveOptions;

documentSaveOptions.Resolution = 400;

dataDir = dataDir + "ConvertToImageWithOptions_out.png";

// 保存笔记本
notebook.Save(dataDir, notebookSaveOptions);

展示如何将扁平笔记本另存为图像。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();

// 加载一个 OneNote 笔记本
var notebook = new Notebook(dataDir + "Notizbuch öffnen.onetoc2");

var notebookSaveOptions = new NotebookImageSaveOptions(SaveFormat.Png);

var documentSaveOptions = notebookSaveOptions.DocumentSaveOptions;

documentSaveOptions.Resolution = 400;
notebookSaveOptions.Flatten = true;

dataDir = dataDir + "ConvertToImageAsFlattenedNotebook_out.png";

// 保存笔记本
notebook.Save(dataDir, notebookSaveOptions);

演示如何从笔记本中删除部分。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_NoteBook();

// 加载一个 OneNote 笔记本
var notebook = new Notebook(dataDir + "test.onetoc2");

//遍历其子节点以搜索所需的子项
foreach (var child in new List<INotebookChildNode>(notebook))
{
    if (child.DisplayName == "Remove Me")
    {
        // 从笔记本中删除子项
        notebook.RemoveChild(child);
    }
}

dataDir = dataDir + "RemoveChildNode_out.onetoc2";

// 保存笔记本
notebook.Save(dataDir);

演示如何循环访问笔记本的预加载文档。

// 默认情况下,子加载是“惰性”的。
// 因此,即时加载已经发生,
// 有必要设置 NotebookLoadOptions.InstantLoading 标志。
NotebookLoadOptions loadOptions = new NotebookLoadOptions { InstantLoading = true };

String inputFile = "Notizbuch öffnen.onetoc2";
String dataDir = RunExamples.GetDataDir_NoteBook();
Notebook notebook = new Notebook(dataDir + inputFile, loadOptions);

// 所有子文档都已经加载。
foreach (INotebookChildNode notebookChildNode in notebook.OfType<Document>()) 
{
   // 对子文档做一些事情
}

显示如何传递笔记本的内容。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
string fileName = "Open Notebook.onetoc2";
try
{
    var notebook = new Notebook(dataDir + fileName);
    foreach (var notebookChildNode in notebook)
    {
        Console.WriteLine(notebookChildNode.DisplayName);
        if (notebookChildNode is Document)
        {
            // 对子文档做一些事情
        }
        else if (notebookChildNode is Notebook)
        {
            // 用子笔记本做点什么
        }
    }
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

也可以看看