Accept
Содержание
[
Скрывать
]AbsolutePositionTab.Accept method
Принимает посетителя.
public override bool Accept(DocumentVisitor visitor)
Параметр | Тип | Описание |
---|---|---|
visitor | DocumentVisitor | Посетитель, который посетит узел. |
Возвращаемое значение
ЛОЖЬ
если посетитель запросил остановку перечисления.
Примечания
ЗвонкиVisitAbsolutePositionTab
.
Дополнительные сведения см. в шаблоне проектирования «Посетитель».
Примеры
Показывает, как обрабатывать символы табуляции абсолютного положения с помощью посетителя документа.
public void DocumentToTxt()
{
Document doc = new Document(MyDir + "Absolute position tab.docx");
// Извлекаем текстовое содержимое нашего документа, приняв этого пользовательского посетителя документа.
DocTextExtractor myDocTextExtractor = new DocTextExtractor();
doc.FirstSection.Body.Accept(myDocTextExtractor);
// Абсолютная позиция табуляции, не имеющая эквивалента в строковой форме, была явно преобразована в символ табуляции.
Assert.AreEqual("Before AbsolutePositionTab\tAfter AbsolutePositionTab", myDocTextExtractor.GetText());
// AbsolutePositionTab также может принимать DocumentVisitor сам по себе.
AbsolutePositionTab absPositionTab = (AbsolutePositionTab)doc.FirstSection.Body.FirstParagraph.GetChild(NodeType.SpecialChar, 0, true);
myDocTextExtractor = new DocTextExtractor();
absPositionTab.Accept(myDocTextExtractor);
Assert.AreEqual("\t", myDocTextExtractor.GetText());
}
/// <summary>
/// Собирает текстовое содержимое всех прогонов в посещенном документе. Заменяет все абсолютные символы табуляции обычными табуляциями.
/// </summary>
public class DocTextExtractor : DocumentVisitor
{
public DocTextExtractor()
{
mBuilder = new StringBuilder();
}
/// <summary>
/// Вызывается, когда в документе встречается узел Run.
/// </summary>
public override VisitorAction VisitRun(Run run)
{
AppendText(run.Text);
return VisitorAction.Continue;
}
/// <summary>
/// Вызывается, когда в документе встречается узел AbsolutePositionTab.
/// </summary>
public override VisitorAction VisitAbsolutePositionTab(AbsolutePositionTab tab)
{
mBuilder.Append("\t");
return VisitorAction.Continue;
}
/// <summary>
/// Добавляет текст в текущий вывод. Учитывает включенный/отключенный выходной флаг.
/// </summary>
private void AppendText(string text)
{
mBuilder.Append(text);
}
/// <summary>
/// Простой текст документа, накопленного посетителем.
/// </summary>
public string GetText()
{
return mBuilder.ToString();
}
private readonly StringBuilder mBuilder;
}
Смотрите также
- class DocumentVisitor
- class AbsolutePositionTab
- пространство имен Aspose.Words
- сборка Aspose.Words