Class DocumentVisitor

Class DocumentVisitor

Nome do espaço: Aspose.Note Assembleia: Aspose.Note.dll (25.4.0)

A classe abstrata para iterar através da árvore subterrânea com raiz no nodo especificado.

public abstract class DocumentVisitor

Inheritance

object DocumentVisitor

Membros herdados

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

Examples

Mostra como acessar o conteúdo de um documento usando um visitante.

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)

Fim de visitar o Aspose.Note.AttachedFile nodo.

public virtual void VisitAttachedFileEnd(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

O nodo Aspose.Note.AttachedFile.

VisitAttachedFileStart(AttachedFile)

Comece a visitar o nodo Aspose.Note.AttachedFile.

public virtual void VisitAttachedFileStart(AttachedFile attachedFile)

Parameters

attachedFile AttachedFile

O nodo Aspose.Note.AttachedFile.

VisitDocumentEnd(Document)

Fim de visitar o nodo Aspose.Note.Document.

public virtual void VisitDocumentEnd(Document document)

Parameters

document Document

O nódulo Aspose.Note.Document node.

VisitDocumentStart(Document)

Comece a visitar o nodo Aspose.Note.Document.

public virtual void VisitDocumentStart(Document document)

Parameters

document Document

O nódulo Aspose.Note.Document node.

VisitImageEnd(Image)

Fim de visitar o Aspose.Note.Image node.

public virtual void VisitImageEnd(Image image)

Parameters

image Image

O Aspose.Note.Node da imagem.

VisitImageStart(Image)

Comece a visitar o nodo Aspose.Note.Image.

public virtual void VisitImageStart(Image image)

Parameters

image Image

O Aspose.Note.Node da imagem.

VisitInkDrawingEnd(InkDrawing)

Finalmente visite o nodo Aspose.Note.InkDrawing.

public virtual void VisitInkDrawingEnd(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

O nodo Aspose.Note.InkDrawing.

VisitInkDrawingStart(InkDrawing)

Comece a visitar o nodo Aspose.Note.InkDrawing.

public virtual void VisitInkDrawingStart(InkDrawing inkDrawing)

Parameters

inkDrawing InkDrawing

O nodo Aspose.Note.InkDrawing.

VisitInkParagraphEnd(InkParagraph)

Fim de visitar o nodo Aspose.Note.InkParagraph.

public virtual void VisitInkParagraphEnd(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

O nódulo Aspose.Note.InkParagraph.

VisitInkParagraphStart(InkParagraph)

Comece a visitar o nodo Aspose.Note.InkParagraph.

public virtual void VisitInkParagraphStart(InkParagraph inkParagraph)

Parameters

inkParagraph InkParagraph

O nódulo Aspose.Note.InkParagraph.

VisitInkWordEnd(InkWord)

Finalmente visite o nodo Aspose.Note.InkWord.

public virtual void VisitInkWordEnd(InkWord inkWord)

Parameters

inkWord InkWord

O nódulo Aspose.Note.InkWord.

VisitInkWordStart(InkWord)

Comece a visitar o nodo Aspose.Note.InkWord.

public virtual void VisitInkWordStart(InkWord inkWord)

Parameters

inkWord InkWord

O nódulo Aspose.Note.InkWord.

VisitLoopEnd(Loop)

Fim de visitar o Aspose.Note.Loop node.

public virtual void VisitLoopEnd(Loop loop)

Parameters

loop Loop

O nodo Aspose.Note.Loop.

VisitLoopStart(Loop)

Comece a visitar o Aspose.Note.Loop nodo.

public virtual void VisitLoopStart(Loop loop)

Parameters

loop Loop

O nodo Aspose.Note.Loop.

VisitOutlineElementEnd(OutlineElement)

Fim de visitar o nodo Aspose.Note.OutlineElement.

public virtual void VisitOutlineElementEnd(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

O nódulo Aspose.Note.OutlineElement.

VisitOutlineElementStart(OutlineElement)

Comece a visitar o nodo Aspose.Note.OutlineElement.

public virtual void VisitOutlineElementStart(OutlineElement outlineElement)

Parameters

outlineElement OutlineElement

O nódulo Aspose.Note.OutlineElement.

VisitOutlineEnd(Outline)

Finalmente visite o nodo Aspose.Note.Outline.

public virtual void VisitOutlineEnd(Outline outline)

Parameters

outline Outline

O nódulo Aspose.Note.Outline.

VisitOutlineGroupEnd(OutlineGroup)

Finalmente visite o nodo Aspose.Note.OutlineGroup.

public virtual void VisitOutlineGroupEnd(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

O nodo Aspose.Note.OutlineGroup.

VisitOutlineGroupStart(OutlineGroup)

Comece a visitar o nodo Aspose.Note.OutlineGroup.

public virtual void VisitOutlineGroupStart(OutlineGroup outlineGroup)

Parameters

outlineGroup OutlineGroup

O nodo Aspose.Note.OutlineGroup.

VisitOutlineStart(Outline)

Comece a visitar o nodo Aspose.Note.Outline.

public virtual void VisitOutlineStart(Outline outline)

Parameters

outline Outline

O nódulo Aspose.Note.Outline.

VisitPageEnd(Page)

Fim de visitar o nodo Aspose.Note.Página.

public virtual void VisitPageEnd(Page page)

Parameters

page Page

O Aspose.Note.Nodo da página.

VisitPageStart(Page)

Comece a visitar o nodo Aspose.Note.Página.

public virtual void VisitPageStart(Page page)

Parameters

page Page

O Aspose.Note.Nodo da página.

VisitRichTextEnd(RichText)

Finalmente visite o nodo Aspose.Note.RichText.

public virtual void VisitRichTextEnd(RichText richText)

Parameters

richText RichText

O nodo Aspose.Note.RichText.

VisitRichTextStart(RichText)

Comece a visitar o nodo Aspose.Note.RichText.

public virtual void VisitRichTextStart(RichText richText)

Parameters

richText RichText

O nodo Aspose.Note.RichText.

VisitTableCellEnd(TableCell)

Finalmente visite o nodo Aspose.Note.TableCell.

public virtual void VisitTableCellEnd(TableCell tableCell)

Parameters

tableCell TableCell

O nodo Aspose.Note.TableCell.

VisitTableCellStart(TableCell)

Comece a visitar o nodo Aspose.Note.TableCell.

public virtual void VisitTableCellStart(TableCell tableCell)

Parameters

tableCell TableCell

O nodo Aspose.Note.TableCell.

VisitTableEnd(Table)

Fim de visitar o nodo de tabela Aspose.Note.

public virtual void VisitTableEnd(Table table)

Parameters

table Table

O Aspose.Note.Nodo de tabela.

VisitTableRowEnd(TableRow)

Finalmente visite o nodo Aspose.Note.TableRow.

public virtual void VisitTableRowEnd(TableRow tableRow)

Parameters

tableRow TableRow

O nodo Aspose.Note.TableRow.

VisitTableRowStart(TableRow)

Comece a visitar o nodo Aspose.Note.TableRow.

public virtual void VisitTableRowStart(TableRow tableRow)

Parameters

tableRow TableRow

O nodo Aspose.Note.TableRow.

VisitTableStart(Table)

Comece a visitar o nodo de tabela Aspose.Note.

public virtual void VisitTableStart(Table table)

Parameters

table Table

O Aspose.Note.Nodo de tabela.

VisitTitleEnd(Title)

Fim de visitar o Aspose.Note.Node de título.

public virtual void VisitTitleEnd(Title title)

Parameters

title Title

O Aspose.Note.Nodo de título.

VisitTitleStart(Title)

Comece a visitar o nodo Aspose.Note.Title.

public virtual void VisitTitleStart(Title title)

Parameters

title Title

O Aspose.Note.Nodo de título.

 Português