Class DocumentVisitor

Class DocumentVisitor

A név: Aspose.Note Összefoglaló: Aspose.Note.dll (25.4.0)

Az absztrakt osztály a meghatározott csomóponton lévő gyökérrel rendelkező aljzaton keresztül történő iteráláshoz.

public abstract class DocumentVisitor

Inheritance

object DocumentVisitor

Örökletes tagok

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

Examples

Megmutatja, hogyan kell hozzáférni egy dokumentum tartalmához a látogató segítségével.

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)

Végül látogasson el a Aspose.Note.AttachedFile csomópontba.

public virtual void VisitAttachedFileEnd(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

A Aspose.Note.A hozzáadottFile csomópont.

VisitAttachedFileStart(AttachedFile)

Kezdje a Aspose.Note.AttachedFile csomópont meglátogatását.

public virtual void VisitAttachedFileStart(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

A Aspose.Note.A hozzáadottFile csomópont.

VisitDocumentEnd(Document)

Végül látogasson el a Aspose.Note.Dokumentum csomópontba.

public virtual void VisitDocumentEnd(Document document)

Parameters

document Document

A Aspose.Note.Dokumentum csomópont.

VisitDocumentStart(Document)

Kezdje a Aspose.Note.Dokumentum csomópont látogatását.

public virtual void VisitDocumentStart(Document document)

Parameters

document Document

A Aspose.Note.Dokumentum csomópont.

VisitImageEnd(Image)

Végül látogasson el a Aspose.Note.Image csomópontba.

public virtual void VisitImageEnd(Image image)

Parameters

image Image

A Aspose.Note.A kép csomópontja

VisitImageStart(Image)

Látogasson el a Aspose.Note.Image csomópontba.

public virtual void VisitImageStart(Image image)

Parameters

image Image

A Aspose.Note.A kép csomópontja

VisitInkDrawingEnd(InkDrawing)

Végül látogasson el a Aspose.Note.InkDrawing csomópontba.

public virtual void VisitInkDrawingEnd(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

A Aspose.Note.InkDrawing csomópont.

VisitInkDrawingStart(InkDrawing)

Kezdje meg a Aspose.Note.InkDrawing csomópontot.

public virtual void VisitInkDrawingStart(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

A Aspose.Note.InkDrawing csomópont.

VisitInkParagraphEnd(InkParagraph)

Végül látogasson el a Aspose.Note.InkParagraph csomópontba.

public virtual void VisitInkParagraphEnd(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

A Aspose.Note.InkParagraph csomópont.

VisitInkParagraphStart(InkParagraph)

Kezdje meg a Aspose.Note.InkParagraph csomópontot.

public virtual void VisitInkParagraphStart(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

A Aspose.Note.InkParagraph csomópont.

VisitInkWordEnd(InkWord)

Végül látogasson el a Aspose.Note.InkWord csomópontba.

public virtual void VisitInkWordEnd(InkWord inkWord)

Parameters

inkWord InkWord

A Aspose.Note.InkWord csomópont.

VisitInkWordStart(InkWord)

Látogasson el a Aspose.Note.InkWord csomópontba.

public virtual void VisitInkWordStart(InkWord inkWord)

Parameters

inkWord InkWord

A Aspose.Note.InkWord csomópont.

VisitLoopEnd(Loop)

Végül látogasson el a Aspose.Note.Loop csomópontba.

public virtual void VisitLoopEnd(Loop loop)

Parameters

loop Loop

A Aspose.Note.Loop csomópont.

VisitLoopStart(Loop)

Kezdje meg a Aspose.Note.Loop csomópont látogatását.

public virtual void VisitLoopStart(Loop loop)

Parameters

loop Loop

A Aspose.Note.Loop csomópont.

VisitOutlineElementEnd(OutlineElement)

Végül látogasson el a Aspose.Note.OutlineElement csomópontba.

public virtual void VisitOutlineElementEnd(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

A Aspose.Note.OutlineElement csomópont.

VisitOutlineElementStart(OutlineElement)

Kezdje meg a Aspose.Note.OutlineElement csomópontot.

public virtual void VisitOutlineElementStart(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

A Aspose.Note.OutlineElement csomópont.

VisitOutlineEnd(Outline)

Végül látogasson el a Aspose.Note.Outline csomópontba.

public virtual void VisitOutlineEnd(Outline outline)

Parameters

outline Outline

A Aspose.Note.Outline csomópont használata.

VisitOutlineGroupEnd(OutlineGroup)

Végül látogasson el a Aspose.Note.OutlineGroup csomópontba.

public virtual void VisitOutlineGroupEnd(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

A Aspose.Note.OutlineGroup csomópont.

VisitOutlineGroupStart(OutlineGroup)

Kezdje a Aspose.Note.OutlineGroup csomópont meglátogatását.

public virtual void VisitOutlineGroupStart(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

A Aspose.Note.OutlineGroup csomópont.

VisitOutlineStart(Outline)

Kezdje meg a Aspose.Note.Outline csomópont látogatását.

public virtual void VisitOutlineStart(Outline outline)

Parameters

outline Outline

A Aspose.Note.Outline csomópont használata.

VisitPageEnd(Page)

Végül látogasson el a Aspose.Note.Page csomópontba.

public virtual void VisitPageEnd(Page page)

Parameters

page Page

A Aspose.Note. oldal csomópontja

VisitPageStart(Page)

Kezdje meg a Aspose.Note.Page csomópont látogatását.

public virtual void VisitPageStart(Page page)

Parameters

page Page

A Aspose.Note. oldal csomópontja

VisitRichTextEnd(RichText)

Végül látogasson el a Aspose.Note.RichText csomópontba.

public virtual void VisitRichTextEnd(RichText richText)

Parameters

richText RichText

A Aspose.Note.RichText csomópont.

VisitRichTextStart(RichText)

Látogasson el a Aspose.Note.RichText csomópontba.

public virtual void VisitRichTextStart(RichText richText)

Parameters

richText RichText

A Aspose.Note.RichText csomópont.

VisitTableCellEnd(TableCell)

Végül látogasson el a Aspose.Note.TableCell csomópontba.

public virtual void VisitTableCellEnd(TableCell tableCell)

Parameters

tableCell TableCell

A Aspose.Note.TableCell csomópont.

VisitTableCellStart(TableCell)

Kezdje a Aspose.Note.TableCell csomópont meglátogatását.

public virtual void VisitTableCellStart(TableCell tableCell)

Parameters

tableCell TableCell

A Aspose.Note.TableCell csomópont.

VisitTableEnd(Table)

Végül látogasson el a Aspose.Note.Táblázati csomópontba.

public virtual void VisitTableEnd(Table table)

Parameters

table Table

A Aspose.Note. táblázati csomópont.

VisitTableRowEnd(TableRow)

Végül látogasson el a Aspose.Note.TableRow csomópontba.

public virtual void VisitTableRowEnd(TableRow tableRow)

Parameters

tableRow TableRow

A Aspose.Note.TableRow csomópont.

VisitTableRowStart(TableRow)

Kezdje a Aspose.Note.TableRow csomópont meglátogatását.

public virtual void VisitTableRowStart(TableRow tableRow)

Parameters

tableRow TableRow

A Aspose.Note.TableRow csomópont.

VisitTableStart(Table)

Kezdje meg a Aspose.Note.Táblázati csomópont látogatását.

public virtual void VisitTableStart(Table table)

Parameters

table Table

A Aspose.Note. táblázati csomópont.

VisitTitleEnd(Title)

Végül látogasson el a Aspose.Note.Title csomópontba.

public virtual void VisitTitleEnd(Title title)

Parameters

title Title

A Aspose.Note.Title csomópont használata.

VisitTitleStart(Title)

Kezdje meg a Aspose.Note.Title csomópont látogatását.

public virtual void VisitTitleStart(Title title)

Parameters

title Title

A Aspose.Note.Title csomópont használata.

 Magyar