Class DocumentVisitor

Class DocumentVisitor

ชื่อพื้นที่: Aspose.Note การประกอบ: Aspose.Note.dll (25.4.0)

หลักสูตรการอัดรัดสําหรับการยึดผ่านต้นไม้ใต้ด้วยรากในช่องที่ระบุ

public abstract class DocumentVisitor

Inheritance

object DocumentVisitor

อนุญาโตตุลาการ

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

Examples

แสดงวิธีการเข้าถึงเนื้อหาของเอกสารโดยใช้ผู้เข้าชม

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)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.AttachedFile node

public virtual void VisitAttachedFileEnd(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

ปุ่ม Aspose.Note.AttachedFile

VisitAttachedFileStart(AttachedFile)

เริ่มต้นไปที่ Aspose.Note.AttachedFile node

public virtual void VisitAttachedFileStart(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

ปุ่ม Aspose.Note.AttachedFile

VisitDocumentEnd(Document)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.Document node

public virtual void VisitDocumentEnd(Document document)

Parameters

document Document

หมายเลข WL31_.Document node

VisitDocumentStart(Document)

เริ่มต้นไปที่ Aspose.Note.Document node

public virtual void VisitDocumentStart(Document document)

Parameters

document Document

หมายเลข WL31_.Document node

VisitImageEnd(Image)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.Image node

public virtual void VisitImageEnd(Image image)

Parameters

image Image

Aspose.Note.รหัสภาพ

VisitImageStart(Image)

เริ่มต้นไปที่ Aspose.Note.Node ภาพ

public virtual void VisitImageStart(Image image)

Parameters

image Image

Aspose.Note.รหัสภาพ

VisitInkDrawingEnd(InkDrawing)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.InkDrawing node

public virtual void VisitInkDrawingEnd(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

ปุ่ม WL31_.InkDrawing

VisitInkDrawingStart(InkDrawing)

เริ่มต้นไปที่ Aspose.Note.InkDrawing node

public virtual void VisitInkDrawingStart(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

ปุ่ม WL31_.InkDrawing

VisitInkParagraphEnd(InkParagraph)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.InkParagraph node

public virtual void VisitInkParagraphEnd(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

ปุ่ม Aspose.Note.InkParagraph

VisitInkParagraphStart(InkParagraph)

เริ่มต้นไปที่ Aspose.Note.InkParagraph node

public virtual void VisitInkParagraphStart(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

ปุ่ม Aspose.Note.InkParagraph

VisitInkWordEnd(InkWord)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.InkWord node

public virtual void VisitInkWordEnd(InkWord inkWord)

Parameters

inkWord InkWord

ปุ่ม Aspose.Note.InkWord

VisitInkWordStart(InkWord)

เริ่มต้นไปที่ Aspose.Note.InkWord node

public virtual void VisitInkWordStart(InkWord inkWord)

Parameters

inkWord InkWord

ปุ่ม Aspose.Note.InkWord

VisitLoopEnd(Loop)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.Loop node

public virtual void VisitLoopEnd(Loop loop)

Parameters

loop Loop

ปุ่ม WL31_.Loop

VisitLoopStart(Loop)

เริ่มต้นไปที่ Aspose.Note.Loop node

public virtual void VisitLoopStart(Loop loop)

Parameters

loop Loop

ปุ่ม WL31_.Loop

VisitOutlineElementEnd(OutlineElement)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.OutlineElement node

public virtual void VisitOutlineElementEnd(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

ปุ่ม Aspose.Note.OutlineElement

VisitOutlineElementStart(OutlineElement)

เริ่มต้นเพื่อเยี่ยมชม Aspose.Note.OutlineElement node

public virtual void VisitOutlineElementStart(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

ปุ่ม Aspose.Note.OutlineElement

VisitOutlineEnd(Outline)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.Outline node

public virtual void VisitOutlineEnd(Outline outline)

Parameters

outline Outline

ปุ่ม WL31_.Outline

VisitOutlineGroupEnd(OutlineGroup)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.OutlineGroup node

public virtual void VisitOutlineGroupEnd(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

ปุ่ม WL31_.OutlineGroup

VisitOutlineGroupStart(OutlineGroup)

เริ่มต้นไปที่ Aspose.Note.OutlineGroup node

public virtual void VisitOutlineGroupStart(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

ปุ่ม WL31_.OutlineGroup

VisitOutlineStart(Outline)

เริ่มต้นไปที่ Aspose.Note.Outline node

public virtual void VisitOutlineStart(Outline outline)

Parameters

outline Outline

ปุ่ม WL31_.Outline

VisitPageEnd(Page)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.Page node

public virtual void VisitPageEnd(Page page)

Parameters

page Page

หมายเลข WL31_.page node

VisitPageStart(Page)

เริ่มต้นเพื่อเยี่ยมชม Aspose.Note.Page node

public virtual void VisitPageStart(Page page)

Parameters

page Page

หมายเลข WL31_.page node

VisitRichTextEnd(RichText)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.RichText node

public virtual void VisitRichTextEnd(RichText richText)

Parameters

richText RichText

ปุ่ม Aspose.Note.RichText

VisitRichTextStart(RichText)

เริ่มต้นเพื่อเยี่ยมชม Aspose.Note.RichText node

public virtual void VisitRichTextStart(RichText richText)

Parameters

richText RichText

ปุ่ม Aspose.Note.RichText

VisitTableCellEnd(TableCell)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.TableCell node

public virtual void VisitTableCellEnd(TableCell tableCell)

Parameters

tableCell TableCell

ปุ่ม WL31_.TableCell

VisitTableCellStart(TableCell)

เริ่มต้นเพื่อเยี่ยมชม Aspose.Note.TableCell node

public virtual void VisitTableCellStart(TableCell tableCell)

Parameters

tableCell TableCell

ปุ่ม WL31_.TableCell

VisitTableEnd(Table)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.Table node

public virtual void VisitTableEnd(Table table)

Parameters

table Table

หมายเลข _WL31 _.โต๊ะปุ่ม

VisitTableRowEnd(TableRow)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.TableRow node

public virtual void VisitTableRowEnd(TableRow tableRow)

Parameters

tableRow TableRow

ปุ่ม Aspose.Note.TableRow

VisitTableRowStart(TableRow)

เริ่มต้นเพื่อเยี่ยมชม Aspose.Note.TableRow node

public virtual void VisitTableRowStart(TableRow tableRow)

Parameters

tableRow TableRow

ปุ่ม Aspose.Note.TableRow

VisitTableStart(Table)

เริ่มต้นเพื่อเยี่ยมชม Aspose.Note.Table node

public virtual void VisitTableStart(Table table)

Parameters

table Table

หมายเลข _WL31 _.โต๊ะปุ่ม

VisitTitleEnd(Title)

เสร็จสิ้นเพื่อเยี่ยมชม Aspose.Note.Node Title

public virtual void VisitTitleEnd(Title title)

Parameters

title Title

Aspose.Note.Node ชื่อ

VisitTitleStart(Title)

เริ่มต้นเพื่อเยี่ยมชม Aspose.Note.Node Title

public virtual void VisitTitleStart(Title title)

Parameters

title Title

Aspose.Note.Node ชื่อ

 แบบไทย