Accept
Innehåll
[
Dölj
]AbsolutePositionTab.Accept method
Accepterar en besökare.
public override bool Accept(DocumentVisitor visitor)
Parameter | Typ | Beskrivning |
---|---|---|
visitor | DocumentVisitor | Besökaren som kommer att besöka noden. |
Returvärde
falsk
om besökaren begärde att uppräkningen skulle sluta.
Anmärkningar
SamtalVisitAbsolutePositionTab
.
För mer information se Visitor design mönster.
Exempel
Visar hur man bearbetar absoluta positionstecken med en dokumentbesökare.
public void DocumentToTxt()
{
Document doc = new Document(MyDir + "Absolute position tab.docx");
// Extrahera textinnehållet i vårt dokument genom att acceptera denna anpassade dokumentbesökare.
DocTextExtractor myDocTextExtractor = new DocTextExtractor();
doc.FirstSection.Body.Accept(myDocTextExtractor);
// Den absoluta positionsfliken, som inte har någon motsvarighet i strängform, har explicit konverterats till ett tabbtecken.
Assert.AreEqual("Before AbsolutePositionTab\tAfter AbsolutePositionTab", myDocTextExtractor.GetText());
// En AbsolutePositionTab kan också acceptera en DocumentVisitor ensam.
AbsolutePositionTab absPositionTab = (AbsolutePositionTab)doc.FirstSection.Body.FirstParagraph.GetChild(NodeType.SpecialChar, 0, true);
myDocTextExtractor = new DocTextExtractor();
absPositionTab.Accept(myDocTextExtractor);
Assert.AreEqual("\t", myDocTextExtractor.GetText());
}
/// <summary>
/// Samlar in textinnehållet för alla körningar i det besökta dokumentet. Ersätter alla absoluta tabbtecken med vanliga tabbar.
/// </summary>
public class DocTextExtractor : DocumentVisitor
{
public DocTextExtractor()
{
mBuilder = new StringBuilder();
}
/// <summary>
/// Anropas när en körnod påträffas i dokumentet.
/// </summary>
public override VisitorAction VisitRun(Run run)
{
AppendText(run.Text);
return VisitorAction.Continue;
}
/// <summary>
/// Anropas när en AbsolutePositionTab-nod påträffas i dokumentet.
/// </summary>
public override VisitorAction VisitAbsolutePositionTab(AbsolutePositionTab tab)
{
mBuilder.Append("\t");
return VisitorAction.Continue;
}
/// <summary>
/// Lägger till text till den aktuella utgången. Respekterar den aktiverade/avaktiverade utgångsflaggan.
/// </summary>
private void AppendText(string text)
{
mBuilder.Append(text);
}
/// <summary>
/// Oformaterad text av dokumentet som samlades av besökaren.
/// </summary>
public string GetText()
{
return mBuilder.ToString();
}
private readonly StringBuilder mBuilder;
}
Se även
- class DocumentVisitor
- class AbsolutePositionTab
- namnutrymme Aspose.Words
- hopsättning Aspose.Words