Arbeiten mit Seiten
Holen Sie sich die Anzahl von Seiten aus dem OneNote -Dokument
Aspose.Note für .NET unterstützt das Abrufen der Anzahl der Seiten aus einem OneNote -Dokument.
Dieses Beispiel funktioniert wie folgt:
- Erstellen Sie ein Objekt der Dokument Klasse.
- Rufen Sie die GetChildnodes -Methode der Dokumentklasse auf.
- Holen Sie sich eine Liste von Seitenknoten.
- Holen Sie sich die Anzahl der Seiten über Count -Eigenschaft.
- Zeigen Sie die Anzahl auf dem Ausgangsbildschirm an.
Der folgende Code -Snippet zeigt, wie die Anzahl der Seiten von einer OneNote -Datei abgerufen wird
1// The path to the documents directory.
2string dataDir = RunExamples.GetDataDir_Pages();
3
4// Load the document into Aspose.Note.
5Document oneFile = new Document(dataDir + "Aspose.one");
6
7// Get number of pages
8int count = oneFile.GetChildNodes<Page>().Count;
9
10// Print count on the output screen
11Console.WriteLine(count);
Erhalten Sie Informationen zu jeder Seite aus dem OneNote -Dokument
Die Seite Klasse enthält alle Eigenschaften, die sich auf eine Seite eines OneNote -Dokuments beziehen. Alle Seiten der OneNote -Datei sind durch Seitenknoten des Dokuments Objekts enthalten.
Das folgende Codebeispiel zeigt, wie Informationen zu jeder Seite in einem OneNote -Dokument abgerufen werden.
1// The path to the documents directory.
2string dataDir = RunExamples.GetDataDir_Pages();
3
4// Load the document into Aspose.Note.
5Document oneFile = new Document(dataDir + "Aspose.one");
6
7// Get all Page nodes
8IList<Page> pages = oneFile.GetChildNodes<Page>();
9
10foreach (Page page in pages)
11{
12 Console.WriteLine("LastModifiedTime: {0}", page.LastModifiedTime);
13 Console.WriteLine("CreationTime: {0}", page.CreationTime);
14 Console.WriteLine("Title: {0}", page.Title);
15 Console.WriteLine("Level: {0}", page.Level);
16 Console.WriteLine("Author: {0}", page.Author);
17 Console.WriteLine();
18}
Erstellen Sie ein OneNote -Dokument mit Stamm- und Sub -Level -Seiten
In diesem Thema wird erläutert, wie Entwickler OneNote-Dokument erstellen können, einschließlich verschiedener Seiten an Root- oder Sub-Level-Positionen. ASSONE.Note APIs ermöglicht es dem Entwickler, programmgesteuert die Ebene der Seite zu wählen.
Erzeugen Sie Wurzel- und Sub -Level -Seiten in OneNote
Bitte beachten Sie eine kurze Beschreibung, um ein OneNote -Dokument mithilfe der ASSONE. APIS zu erstellen:
- Erstellen Sie eine Instanz der Dokument Klasse, die ein OneNote -Dokument darstellt.
- Initialisieren Sie drei Objekte der Seite Klasse und setzen Sie ihre Ebenen.
- Initialisieren Sie separate Objekte von Umriss, Umriss und Richtext Klassen für jedes Seite Objekt, indem Sie das Objekt Dokument Klassen übergeben. Aufrufen der Appendchild -Methode der Umrissung, Umriss, Seite und Dokument Klassen fügt einen geeigneten neuen Knoten hinzu, mit dem das OneNote -Dokument weitere Knoten hinzugefügt werden kann.
- Die Absatzstil Klasse definiert die Textformatierung.
- Generieren Sie das OneNote -Dokument, indem Sie die Speichermethode des Dokuments -Objekts aufrufen.
1// The path to the documents directory.
2string dataDir = RunExamples.GetDataDir_Pages();
3
4// Create an object of the Document class
5Document doc = new Document();
6// Initialize Page class object and set its level
7Aspose.Note.Page page1 = new Aspose.Note.Page(doc) { Level = 1 };
8// Initialize Page class object and set its level
9Aspose.Note.Page page2 = new Aspose.Note.Page(doc) { Level = 2 };
10// Initialize Page class object and set its level
11Aspose.Note.Page page3 = new Aspose.Note.Page(doc) { Level = 1 };
12
13/*---------- Adding nodes to first Page ----------*/
14Outline outline = new Outline(doc);
15OutlineElement outlineElem = new OutlineElement(doc);
16ParagraphStyle textStyle = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
17RichText text = new RichText(doc) { Text = "First page.", ParagraphStyle = textStyle };
18outlineElem.AppendChildLast(text);
19outline.AppendChildLast(outlineElem);
20page1.AppendChildLast(outline);
21
22/*---------- Adding nodes to second Page ----------*/
23var outline2 = new Outline(doc);
24var outlineElem2 = new OutlineElement(doc);
25var textStyle2 = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
26var text2 = new RichText(doc) { Text = "Second page.", ParagraphStyle = textStyle2 };
27outlineElem2.AppendChildLast(text2);
28outline2.AppendChildLast(outlineElem2);
29page2.AppendChildLast(outline2);
30
31/*---------- Adding nodes to third Page ----------*/
32var outline3 = new Outline(doc);
33var outlineElem3 = new OutlineElement(doc);
34var textStyle3 = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
35var text3 = new RichText(doc) { Text = "Third page.", ParagraphStyle = textStyle3 };
36outlineElem3.AppendChildLast(text3);
37outline3.AppendChildLast(outlineElem3);
38page3.AppendChildLast(outline3);
39
40/*---------- Add pages to the OneNote Document ----------*/
41doc.AppendChildLast(page1);
42doc.AppendChildLast(page2);
43doc.AppendChildLast(page3);
44
45dataDir = dataDir + "CreateDocWithRootAndSubPages_out.one";
46// Save OneNote document
47doc.Save(dataDir);
Arbeiten Sie mit Informationen über die Seite von Seite überarbeitet
1// The path to the documents directory.
2string dataDir = RunExamples.GetDataDir_Pages();
3
4// Load OneNote document and get first child
5Document document = new Document(dataDir + "Aspose.one");
6Page page = document.FirstChild;
7
8// Reading Content Revision Summary for this page
9var pageRevisionInfo = page.PageContentRevisionSummary;
10
11Console.WriteLine(string.Format(
12 "Author:\t{0}\nModified:\t{1}",
13 pageRevisionInfo.AuthorMostRecent,
14 pageRevisionInfo.LastModifiedTime.ToString("dd.MM.yyyy HH:mm:ss")));
15
16// Update Page Revision Summary for this page
17pageRevisionInfo.AuthorMostRecent = "New Author";
18pageRevisionInfo.LastModifiedTime = DateTime.Now;
19document.Save(dataDir + "WorkingWithPageRevisions_out.one");
Mit Seitenhistorie arbeiten
Erhalten Sie alle Überarbeitungen einer bestimmten Seite
Aspose.Note für .NET -APIs bietet Unterstützung, um die Geschichte einer bestimmten Seite zu erhalten, z. Wie oft wird eine Seite aktualisiert, die Verfolgung von Inhalten und vieles mehr. Alle Seiten der OneNote -Datei sind durch Seitenknoten des Objekts Dokument enthalten.
Es gibt eine Loadhistory -Eigenschaft der LoadOptions -Klasse, die zeigt, ob der Dokumentenloader den gesamten Dokumentenverlauf lesen und analysieren soll. Der Standardwert ist wahr.
Bei einer Datei mit einer großen Menge an Geschichte überlegen Sie, ob Sie Lasthistory = False verwenden können, um den Speicher und die CPU -Verwendung zu verringern.
Das folgende Codebeispiel zeigt, wie Sie eine bestimmte Seite erhalten und anschließend die Details der Historie überarbeitet.
1// The path to the documents directory.
2string dataDir = RunExamples.GetDataDir_Pages();
3
4// Load OneNote document
5Document document = new Document(dataDir + "Aspose.one", new LoadOptions { LoadHistory = true });
6// Get first page
7Page firstPage = document.FirstChild;
8foreach (Page pageRevision in document.GetPageHistory(firstPage))
9{
10 /*Use pageRevision like a regular page.*/
11 Console.WriteLine("LastModifiedTime: {0}", pageRevision.LastModifiedTime);
12 Console.WriteLine("CreationTime: {0}", pageRevision.CreationTime);
13 Console.WriteLine("Title: {0}", pageRevision.Title);
14 Console.WriteLine("Level: {0}", pageRevision.Level);
15 Console.WriteLine("Author: {0}", pageRevision.Author);
16 Console.WriteLine();
17}
Zurück zur vorherigen Seitenversion
Um zu einer vorherigen Seitenversion zurückzukehren, muss die neueste Seite aus dem Dokument entfernt werden und die vor diesem, bevor diese wie in der folgenden Code -Beispiele gezeigt in das Dokument wiedergegeben werden.
1// The path to the documents directory.
2string dataDir = RunExamples.GetDataDir_Pages();
3
4// Load OneNote document and get first child
5Document document = new Document(dataDir + "Aspose.one");
6Page page = document.FirstChild;
7Page lastPage = null;
8foreach (Page pageRevision in document.GetPageHistory(page))
9{
10 lastPage = pageRevision;
11}
12document.RemoveChild(page);
13
14document.AppendChildLast(lastPage);
15
16document.Save(dataDir + "RollBackRevisions_out.one");
Drücken Sie die aktuelle Seitenversion in den Verlauf
Die aktuelle Seite kann zum Verlauf hinzugefügt werden, indem sie mit der Seite der Seite kloniert.
1// The path to the documents directory.
2string dataDir = RunExamples.GetDataDir_Pages();
3
4// Load OneNote document and get first child
5Document document = new Document(dataDir + "Aspose.one");
6Page page = document.FirstChild;
7
8var pageHistory = document.GetPageHistory(page);
9
10pageHistory.Add(page.Clone());
11
12document.Save(dataDir + "PushCurrentPageVersion_out.one");
Ändern Sie den Seitenverlauf
Die aktuelle Seite kann zum Verlauf hinzugefügt werden, indem sie mit der Seite der Seite kloniert.
1// The path to the documents directory.
2string dataDir = RunExamples.GetDataDir_Pages();
3
4// Load OneNote document and get first child
5Document document = new Document(dataDir + "Aspose.one");
6Page page = document.FirstChild;
7
8var pageHistory = document.GetPageHistory(page);
9
10pageHistory.RemoveRange(0, 1);
11
12pageHistory[0] = new Page(document);
13if (pageHistory.Count > 1)
14{
15 pageHistory[1].Title.TitleText.Text = "New Title";
16
17 pageHistory.Add(new Page(document));
18
19 pageHistory.Insert(1, new Page(document));
20
21 document.Save(dataDir + "ModifyPageHistory_out.one");
22}
Mit Konfliktseiten arbeiten
Ein Dokument kann Seiten mit Konfliktseiten in seiner Geschichte haben. Solche Seiten werden standardmäßig nicht in Dokument gespeichert. Mit Aspose.Note API können Sie einen solchen Seitenverlauf mit der IsconflictPage -Eigenschaft der Geschichte der Verlaufseite manipulieren, wie unten gezeigt.
1string dataDir = RunExamples.GetDataDir_Pages();
2
3// Load OneNote document
4Document doc = new Document(dataDir + "Aspose.one", new LoadOptions { LoadHistory = true });
5
6var history = doc.GetPageHistory(doc.FirstChild);
7for (int i = 0; i < history.Count; i++)
8{
9 var historyPage = history[i];
10 Console.Write(" {0}. Author: {1}, {2:dd.MM.yyyy hh.mm.ss}",
11 i,
12 historyPage.PageContentRevisionSummary.AuthorMostRecent,
13 historyPage.PageContentRevisionSummary.LastModifiedTime);
14 Console.WriteLine(historyPage.IsConflictPage ? ", IsConflict: true" : string.Empty);
15 // By default conflict pages are just skipped on saving.
16 // If mark it as non-conflict then it will be saved as usual one in the history.
17 if (historyPage.IsConflictPage)
18 historyPage.IsConflictPage = false;
19}
20
21doc.Save(dataDir + "ConflictPageManipulation_out.one", SaveFormat.One);
Klonenseite mit Geschichte
1// The path to the documents directory.
2string dataDir = RunExamples.GetDataDir_Pages();
3
4// Load OneNote document
5Document document = new Document(dataDir + "Aspose.one", new LoadOptions { LoadHistory = true });
6
7//Clone into new document without history
8var cloned = new Document();
9cloned.AppendChildLast(document.FirstChild.Clone());
10
11//Clone into new document with history
12cloned = new Document();
13cloned.AppendChildLast(document.FirstChild.Clone(true));