Class DocumentVisitor

Class DocumentVisitor

Namn på plats: Aspose.Note Sammanfattning: Aspose.Note.dll (25.4.0)

Den abstrakta klassen för iterering genom underjordiska träd med rot vid den angivna noden.

public abstract class DocumentVisitor

Inheritance

object DocumentVisitor

Arvsmedlemmar

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Visa hur du får tillgång till innehållet i ett dokument med hjälp av en besökare.

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)

Avsluta för att besöka Aspose.Note.AttachedFile nod.

public virtual void VisitAttachedFileEnd(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

Den Aspose.Note.AttachedFile noden.

VisitAttachedFileStart(AttachedFile)

Börja med att besöka Aspose.Note.AttachedFile nod.

public virtual void VisitAttachedFileStart(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

Den Aspose.Note.AttachedFile noden.

VisitDocumentEnd(Document)

Avsluta att besöka Aspose.Note.Dokument nod.

public virtual void VisitDocumentEnd(Document document)

Parameters

document Document

Den Aspose.Note.Dokumentknappen .

VisitDocumentStart(Document)

Börja med att besöka Aspose.Note.Dokument noden.

public virtual void VisitDocumentStart(Document document)

Parameters

document Document

Den Aspose.Note.Dokumentknappen .

VisitImageEnd(Image)

Avsluta att besöka Aspose.Note.Image nod.

public virtual void VisitImageEnd(Image image)

Parameters

image Image

Den Aspose.Note.Image knut.

VisitImageStart(Image)

Börja med att besöka Aspose.Note.Image nod.

public virtual void VisitImageStart(Image image)

Parameters

image Image

Den Aspose.Note.Image knut.

VisitInkDrawingEnd(InkDrawing)

Avsluta att besöka Aspose.Note.InkDrawing nod.

public virtual void VisitInkDrawingEnd(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

Den Aspose.Note.InkDrawing knut.

VisitInkDrawingStart(InkDrawing)

Börja med att besöka Aspose.Note.InkDrawing nod.

public virtual void VisitInkDrawingStart(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

Den Aspose.Note.InkDrawing knut.

VisitInkParagraphEnd(InkParagraph)

Avsluta att besöka Aspose.Note.InkParagraph nod.

public virtual void VisitInkParagraphEnd(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

Den Aspose.Note.InkParagraph knut.

VisitInkParagraphStart(InkParagraph)

Börja med att besöka Aspose.Note.InkParagraph nod.

public virtual void VisitInkParagraphStart(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

Den Aspose.Note.InkParagraph knut.

VisitInkWordEnd(InkWord)

Avsluta att besöka Aspose.Note.InkWord nod.

public virtual void VisitInkWordEnd(InkWord inkWord)

Parameters

inkWord InkWord

Den Aspose.Note.InkWord knut.

VisitInkWordStart(InkWord)

Börja med att besöka Aspose.Note.InkWord noden.

public virtual void VisitInkWordStart(InkWord inkWord)

Parameters

inkWord InkWord

Den Aspose.Note.InkWord knut.

VisitLoopEnd(Loop)

Avsluta att besöka Aspose.Note.Loop nod.

public virtual void VisitLoopEnd(Loop loop)

Parameters

loop Loop

Den Aspose.Note.Loop knut.

VisitLoopStart(Loop)

Börja med att besöka Aspose.Note.Loop nod.

public virtual void VisitLoopStart(Loop loop)

Parameters

loop Loop

Den Aspose.Note.Loop knut.

VisitOutlineElementEnd(OutlineElement)

Avsluta att besöka Aspose.Note.OutlineElement nod.

public virtual void VisitOutlineElementEnd(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

Den Aspose.Note.OutlineElement noden.

VisitOutlineElementStart(OutlineElement)

Börja med att besöka Aspose.Note.OutlineElements nod.

public virtual void VisitOutlineElementStart(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

Den Aspose.Note.OutlineElement noden.

VisitOutlineEnd(Outline)

Avsluta att besöka Aspose.Note.Outline noden.

public virtual void VisitOutlineEnd(Outline outline)

Parameters

outline Outline

Den Aspose.Note.Outline noden är

VisitOutlineGroupEnd(OutlineGroup)

Avsluta att besöka Aspose.Note.OutlineGroup nod.

public virtual void VisitOutlineGroupEnd(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

Den Aspose.Note.OutlineGroup noden.

VisitOutlineGroupStart(OutlineGroup)

Börja med att besöka Aspose.Note.OutlineGroup nod.

public virtual void VisitOutlineGroupStart(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

Den Aspose.Note.OutlineGroup noden.

VisitOutlineStart(Outline)

Börja med att besöka Aspose.Note.Outline noden.

public virtual void VisitOutlineStart(Outline outline)

Parameters

outline Outline

Den Aspose.Note.Outline noden är

VisitPageEnd(Page)

Avsluta att besöka Aspose.Note.Page nod.

public virtual void VisitPageEnd(Page page)

Parameters

page Page

Den Aspose.Note.Page knut.

VisitPageStart(Page)

Börja med att besöka Aspose.Note.Page nod.

public virtual void VisitPageStart(Page page)

Parameters

page Page

Den Aspose.Note.Page knut.

VisitRichTextEnd(RichText)

Avsluta att besöka Aspose.Note.RichText nod.

public virtual void VisitRichTextEnd(RichText richText)

Parameters

richText RichText

Den Aspose.Note.RichText knut.

VisitRichTextStart(RichText)

Börja med att besöka Aspose.Note.RichText noden.

public virtual void VisitRichTextStart(RichText richText)

Parameters

richText RichText

Den Aspose.Note.RichText knut.

VisitTableCellEnd(TableCell)

Slutligen besök Aspose.Note.TableCell nod.

public virtual void VisitTableCellEnd(TableCell tableCell)

Parameters

tableCell TableCell

Den Aspose.Note.TableCell knut.

VisitTableCellStart(TableCell)

Börja med att besöka Aspose.Note.TableCell nod.

public virtual void VisitTableCellStart(TableCell tableCell)

Parameters

tableCell TableCell

Den Aspose.Note.TableCell knut.

VisitTableEnd(Table)

Avsluta att besöka Aspose.Note.Tabell nod.

public virtual void VisitTableEnd(Table table)

Parameters

table Table

Den Aspose.Note.Tabell nod är

VisitTableRowEnd(TableRow)

Avsluta att besöka Aspose.Note.TableRow nod.

public virtual void VisitTableRowEnd(TableRow tableRow)

Parameters

tableRow TableRow

Den Aspose.Note.TableRow knut.

VisitTableRowStart(TableRow)

Börja med att besöka Aspose.Note.TableRow nod.

public virtual void VisitTableRowStart(TableRow tableRow)

Parameters

tableRow TableRow

Den Aspose.Note.TableRow knut.

VisitTableStart(Table)

Börja med att besöka Aspose.Note.Tabell nod.

public virtual void VisitTableStart(Table table)

Parameters

table Table

Den Aspose.Note.Tabell nod är

VisitTitleEnd(Title)

Avsluta att besöka Aspose.Note.Title nod.

public virtual void VisitTitleEnd(Title title)

Parameters

title Title

Den Aspose.Note.Titlnoden är

VisitTitleStart(Title)

Börja med att besöka Aspose.Note.Title noden.

public virtual void VisitTitleStart(Title title)

Parameters

title Title

Den Aspose.Note.Titlnoden är

 Svenska