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