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
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.