Class DocumentVisitor
nazivni prostor: Aspose.Note Sastav: Aspose.Note.dll (25.4.0)
Abstraktna klasa za iteraciju kroz podzemno drvce s korijenom na određenom činu.
public abstract class DocumentVisitor
Inheritance
naslijeđeni članovi
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Prikazuje kako pristupiti sadržaju dokumenta pomoću posjetitelja.
public static void Run()
{
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
// Open the document we want to convert.
Document doc = new Document(dataDir + "Aspose.one");
// Create an object that inherits from the DocumentVisitor class.
MyOneNoteToTxtWriter myConverter = new MyOneNoteToTxtWriter();
// This is the well known Visitor pattern. Get the model to accept a visitor.
// The model will iterate through itself by calling the corresponding methods
// on the visitor object (this is called visiting).
//
// Note that every node in the object model has the Accept method so the visiting
// can be executed not only for the whole document, but for any node in the document.
doc.Accept(myConverter);
// Once the visiting is complete, we can retrieve the result of the operation,
// that in this example, has accumulated in the visitor.
Console.WriteLine(myConverter.GetText());
Console.WriteLine(myConverter.NodeCount);
}
/// <summary>
/// Simple implementation of saving a document in the plain text format. Implemented as a Visitor.
/// </summary>
public class MyOneNoteToTxtWriter : DocumentVisitor
{
public MyOneNoteToTxtWriter()
{
nodecount = 0;
mIsSkipText = false;
mBuilder = new StringBuilder();
}
/// <summary>
/// Gets the plain text of the document that was accumulated by the visitor.
/// </summary>
public string GetText()
{
return mBuilder.ToString();
}
/// <summary>
/// Adds text to the current output. Honors the enabled/disabled output flag.
/// </summary>
private void AppendText(string text)
{
if (!mIsSkipText)
{
mBuilder.AppendLine(text);
}
}
/// <summary>
/// Called when a RichText node is encountered in the document.
/// </summary>
public override void VisitRichTextStart(RichText run)
{
++nodecount;
AppendText(run.Text);
}
/// <summary>
/// Called when a Document node is encountered in the document.
/// </summary>
public override void VisitDocumentStart(Document document)
{
++nodecount;
}
/// <summary>
/// Called when a Page node is encountered in the document.
/// </summary>
public override void VisitPageStart(Page page)
{
++nodecount;
this.AppendText($"*** Page '{page.Title?.TitleText?.Text ?? "(no title)"}' ***");
}
/// <summary>
/// Called when processing of a Page node is finished.
/// </summary>
public override void VisitPageEnd(Page page)
{
this.AppendText(string.Empty);
}
/// <summary>
/// Called when a Title node is encountered in the document.
/// </summary>
public override void VisitTitleStart(Title title)
{
++nodecount;
}
/// <summary>
/// Called when a Image node is encountered in the document.
/// </summary>
public override void VisitImageStart(Image image)
{
++nodecount;
}
/// <summary>
/// Called when a OutlineGroup node is encountered in the document.
/// </summary>
public override void VisitOutlineGroupStart(OutlineGroup outlineGroup)
{
++nodecount;
}
/// <summary>
/// Called when a Outline node is encountered in the document.
/// </summary>
public override void VisitOutlineStart(Outline outline)
{
++nodecount;
}
/// <summary>
/// Called when a OutlineElement node is encountered in the document.
/// </summary>
public override void VisitOutlineElementStart(OutlineElement outlineElement)
{
++nodecount;
}
/// <summary>
/// Gets the total count of nodes by the Visitor
/// </summary>
public Int32 NodeCount
{
get { return this.nodecount; }
}
private readonly StringBuilder mBuilder;
private bool mIsSkipText;
private Int32 nodecount;
}
Constructors
DocumentVisitor()
protected DocumentVisitor()
Methods
VisitAttachedFileEnd(AttachedFile)
Konačno posjetite Aspose.Note.AttachedFile čvor.
public virtual void VisitAttachedFileEnd(AttachedFile attachedFile)
Parameters
attachedFile
AttachedFile
Aspose.Note.PrijavljeniFile čvor.
VisitAttachedFileStart(AttachedFile)
Počnite posjetiti Aspose.Note.AttachedFile čvor.
public virtual void VisitAttachedFileStart(AttachedFile attachedFile)
Parameters
attachedFile
AttachedFile
Aspose.Note.PrijavljeniFile čvor.
VisitDocumentEnd(Document)
Konačno posjetite Aspose.Note.Dokument nod.
public virtual void VisitDocumentEnd(Document document)
Parameters
document
Document
Aspose.Note.Dokumentni čvor
VisitDocumentStart(Document)
Počnite posjetiti Aspose.Note.Dokument nod.
public virtual void VisitDocumentStart(Document document)
Parameters
document
Document
Aspose.Note.Dokumentni čvor
VisitImageEnd(Image)
Konačno posjetite Aspose.Note.Image čvor.
public virtual void VisitImageEnd(Image image)
Parameters
image
Image
Slijedeći članakSvijet Aspose.Note.Image nod.
VisitImageStart(Image)
Počnite posjetiti Aspose.Note.Image čvor.
public virtual void VisitImageStart(Image image)
Parameters
image
Image
Slijedeći članakSvijet Aspose.Note.Image nod.
VisitInkDrawingEnd(InkDrawing)
Konačno posjetite Aspose.Note.InkDrawing čvor.
public virtual void VisitInkDrawingEnd(InkDrawing inkDrawing)
Parameters
inkDrawing
InkDrawing
Aspose.Note.InkDrawing čvor.
VisitInkDrawingStart(InkDrawing)
Počnite posjetiti Aspose.Note.InkDrawing čvor.
public virtual void VisitInkDrawingStart(InkDrawing inkDrawing)
Parameters
inkDrawing
InkDrawing
Aspose.Note.InkDrawing čvor.
VisitInkParagraphEnd(InkParagraph)
Konačno posjetite Aspose.Note.InkParagraph čvor.
public virtual void VisitInkParagraphEnd(InkParagraph inkParagraph)
Parameters
inkParagraph
InkParagraph
Aspose.Note.InkParagraf čvor.
VisitInkParagraphStart(InkParagraph)
Počnite posjetiti Aspose.Note.InkParagraph čvor.
public virtual void VisitInkParagraphStart(InkParagraph inkParagraph)
Parameters
inkParagraph
InkParagraph
Aspose.Note.InkParagraf čvor.
VisitInkWordEnd(InkWord)
Konačno posjetite Aspose.Note.InkWord čvor.
public virtual void VisitInkWordEnd(InkWord inkWord)
Parameters
inkWord
InkWord
Aspose.Note.InkWord čvor
VisitInkWordStart(InkWord)
Počnite posjetiti Aspose.Note.InkWord čvor.
public virtual void VisitInkWordStart(InkWord inkWord)
Parameters
inkWord
InkWord
Aspose.Note.InkWord čvor
VisitLoopEnd(Loop)
Konačno posjetite Aspose.Note.Loop čvor.
public virtual void VisitLoopEnd(Loop loop)
Parameters
loop
Loop
Slijedeći članak WL31_.Loop node
VisitLoopStart(Loop)
Počnite posjetiti Aspose.Note.Loop čvor.
public virtual void VisitLoopStart(Loop loop)
Parameters
loop
Loop
Slijedeći članak WL31_.Loop node
VisitOutlineElementEnd(OutlineElement)
Konačno posjetite Aspose.Note.OutlineElement čvor.
public virtual void VisitOutlineElementEnd(OutlineElement outlineElement)
Parameters
outlineElement
OutlineElement
Aspose.Note.OutlineElement čvor.
VisitOutlineElementStart(OutlineElement)
Počnite posjetiti Aspose.Note.OutlineElement čvor.
public virtual void VisitOutlineElementStart(OutlineElement outlineElement)
Parameters
outlineElement
OutlineElement
Aspose.Note.OutlineElement čvor.
VisitOutlineEnd(Outline)
Konačno posjetite Aspose.Note.Outline čvor.
public virtual void VisitOutlineEnd(Outline outline)
Parameters
outline
Outline
Slijedeći članak WL31_.Outline čvor.
VisitOutlineGroupEnd(OutlineGroup)
Konačno posjetite Aspose.Note.OutlineGroup čvor.
public virtual void VisitOutlineGroupEnd(OutlineGroup outlineGroup)
Parameters
outlineGroup
OutlineGroup
Aspose.Note.OutlineGroup čvor.
VisitOutlineGroupStart(OutlineGroup)
Počnite posjetiti Aspose.Note.OutlineGroup čvor.
public virtual void VisitOutlineGroupStart(OutlineGroup outlineGroup)
Parameters
outlineGroup
OutlineGroup
Aspose.Note.OutlineGroup čvor.
VisitOutlineStart(Outline)
Počnite posjetiti Aspose.Note.Outline čvor.
public virtual void VisitOutlineStart(Outline outline)
Parameters
outline
Outline
Slijedeći članak WL31_.Outline čvor.
VisitPageEnd(Page)
Konačno posjetite Aspose.Note.Page nod.
public virtual void VisitPageEnd(Page page)
Parameters
page
Page
Slijedeći članak Aspose.Note.Page node
VisitPageStart(Page)
Počnite posjećivati Aspose.Note.Page nod.
public virtual void VisitPageStart(Page page)
Parameters
page
Page
Slijedeći članak Aspose.Note.Page node
VisitRichTextEnd(RichText)
Konačno posjetite Aspose.Note.RichText čvor.
public virtual void VisitRichTextEnd(RichText richText)
Parameters
richText
RichText
Aspose.Note.RichText čvor.
VisitRichTextStart(RichText)
Počnite posjetiti Aspose.Note.RichText čvor.
public virtual void VisitRichTextStart(RichText richText)
Parameters
richText
RichText
Aspose.Note.RichText čvor.
VisitTableCellEnd(TableCell)
Konačno posjetite Aspose.Note.TableCell čvor.
public virtual void VisitTableCellEnd(TableCell tableCell)
Parameters
tableCell
TableCell
Aspose.Note.TableCell čvor
VisitTableCellStart(TableCell)
Počnite posjetiti Aspose.Note.TableCell čvor.
public virtual void VisitTableCellStart(TableCell tableCell)
Parameters
tableCell
TableCell
Aspose.Note.TableCell čvor
VisitTableEnd(Table)
Konačno posjetite Aspose.Note.Tabela čvor.
public virtual void VisitTableEnd(Table table)
Parameters
table
Table
Slijedeći članak WL31_.Tabela čvor.
VisitTableRowEnd(TableRow)
Konačno posjetite Aspose.Note.TableRow čvor.
public virtual void VisitTableRowEnd(TableRow tableRow)
Parameters
tableRow
TableRow
Aspose.Note.TableRow čvor
VisitTableRowStart(TableRow)
Počnite posjetiti Aspose.Note.TableRow čvor.
public virtual void VisitTableRowStart(TableRow tableRow)
Parameters
tableRow
TableRow
Aspose.Note.TableRow čvor
VisitTableStart(Table)
Počnite posjetiti Aspose.Note.Tabeljni čvor.
public virtual void VisitTableStart(Table table)
Parameters
table
Table
Slijedeći članak WL31_.Tabela čvor.
VisitTitleEnd(Title)
Konačno posjetite Aspose.Note.Title čvor.
public virtual void VisitTitleEnd(Title title)
Parameters
title
Title
Slijedeći članak WL31_.Title node
VisitTitleStart(Title)
Počnite posjetiti Aspose.Note.Title čvor.
public virtual void VisitTitleStart(Title title)
Parameters
title
Title
Slijedeći članak WL31_.Title node