Accept
Inhalt
[
Ausblenden
]AbsolutePositionTab.Accept method
Nimmt einen Besucher auf.
public override bool Accept(DocumentVisitor visitor)
Parameter | Typ | Beschreibung |
---|---|---|
visitor | DocumentVisitor | Der Besucher, der den Knoten besuchen wird. |
Rückgabewert
FALSCH
wenn der Besucher die Beendigung der Aufzählung verlangt hat.
Bemerkungen
AnrufeVisitAbsolutePositionTab
.
Weitere Informationen finden Sie im Besucher-Entwurfsmuster.
Beispiele
Zeigt, wie Tabulatorzeichen mit absoluter Position mit einem Dokumentbesucher verarbeitet werden.
public void DocumentToTxt()
{
Document doc = new Document(MyDir + "Absolute position tab.docx");
// Extrahieren Sie den Textinhalt unseres Dokuments, indem Sie diesen benutzerdefinierten Dokumentbesucher akzeptieren.
DocTextExtractor myDocTextExtractor = new DocTextExtractor();
Section fisrtSection = doc.FirstSection;
fisrtSection.Body.Accept(myDocTextExtractor);
// Besuchen Sie nur den Anfang des Dokumenttexts.
fisrtSection.Body.AcceptStart(myDocTextExtractor);
// Besuchen Sie nur das Ende des Dokumenttexts.
fisrtSection.Body.AcceptEnd(myDocTextExtractor);
// Die absolute Position Tab, für die es kein Äquivalent in Stringform gibt, wurde explizit in ein Tabulatorzeichen umgewandelt.
Assert.AreEqual("Before AbsolutePositionTab\tAfter AbsolutePositionTab", myDocTextExtractor.GetText());
// Ein AbsolutePositionTab kann auch selbst einen DocumentVisitor akzeptieren.
AbsolutePositionTab absPositionTab = (AbsolutePositionTab)doc.FirstSection.Body.FirstParagraph.GetChild(NodeType.SpecialChar, 0, true);
myDocTextExtractor = new DocTextExtractor();
absPositionTab.Accept(myDocTextExtractor);
Assert.AreEqual("\t", myDocTextExtractor.GetText());
}
/// <summary>
/// Sammelt den Textinhalt aller Läufe im besuchten Dokument. Ersetzt alle absoluten Tabulatorzeichen durch normale Tabulatoren.
/// </summary>
public class DocTextExtractor : DocumentVisitor
{
public DocTextExtractor()
{
mBuilder = new StringBuilder();
}
/// <summary>
/// Wird aufgerufen, wenn im Dokument ein Run-Knoten gefunden wird.
/// </summary>
public override VisitorAction VisitRun(Run run)
{
AppendText(run.Text);
return VisitorAction.Continue;
}
/// <summary>
/// Wird aufgerufen, wenn im Dokument ein AbsolutePositionTab-Knoten gefunden wird.
/// </summary>
public override VisitorAction VisitAbsolutePositionTab(AbsolutePositionTab tab)
{
mBuilder.Append("\t");
return VisitorAction.Continue;
}
/// <summary>
/// Fügt der aktuellen Ausgabe Text hinzu. Beachtet das aktivierte/deaktivierte Ausgabeflag.
/// </summary>
private void AppendText(string text)
{
mBuilder.Append(text);
}
/// <summary>
/// Klartext des vom Besucher gesammelten Dokuments.
/// </summary>
public string GetText()
{
return mBuilder.ToString();
}
private readonly StringBuilder mBuilder;
}
Siehe auch
- class DocumentVisitor
- class AbsolutePositionTab
- namensraum Aspose.Words
- Montage Aspose.Words