AbsolutePositionTab

AbsolutePositionTab class

Табуляция абсолютной позиции — это символ, который используется для перемещения позиции на текущей строки текста при отображении этого содержимого WordprocessingML.

Чтобы узнать больше, посетитеОбъектная модель документа Aspose.Words (DOM) статья документации.

public class AbsolutePositionTab : SpecialChar

Характеристики

ИмяОписание
CustomNodeId { get; set; }Указывает пользовательский идентификатор узла.
virtual Document { get; }Получает документ, которому принадлежит этот узел.
Font { get; }Предоставляет доступ к форматированию шрифта этого объекта.
virtual IsComposite { get; }Возвращаетистинный если этот узел может содержать другие узлы.
IsDeleteRevision { get; }Возвращает true, если этот объект был удален в Microsoft Word при включенном отслеживании изменений.
IsFormatRevision { get; }Возвращает true, если форматирование объекта было изменено в Microsoft Word при включенном отслеживании изменений.
IsInsertRevision { get; }Возвращает true, если этот объект был вставлен в Microsoft Word при включенном отслеживании изменений.
IsMoveFromRevision { get; }Возвращаетистинный если этот объект был перемещен (удален) в Microsoft Word при включенном отслеживании изменений.
IsMoveToRevision { get; }Возвращаетистинный если этот объект был перемещен (вставлен) в Microsoft Word при включенном отслеживании изменений.
NextSibling { get; }Получает узел, следующий сразу за этим узлом.
override NodeType { get; }ВозвращаетSpecialChar .
ParentNode { get; }Получает непосредственного родителя этого узла.
ParentParagraph { get; }Получает родительский элементParagraph этого узла.
PreviousSibling { get; }Получает узел, непосредственно предшествующий этому узлу.
Range { get; }ВозвращаетRange объект, представляющий часть документа, содержащуюся в этом узле.

Методы

ИмяОписание
override Accept(DocumentVisitor)Принимает посетителя.
Clone(bool)Создает дубликат узла.
GetAncestor(NodeType)Получает первого предка указанногоNodeType .
GetAncestor(Type)Получает первого предка указанного типа объекта.
override GetText()Получает специальный символ, который представляет этот узел.
NextPreOrder(Node)Получает следующий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
PreviousPreOrder(Node)Получает предыдущий узел в соответствии с алгоритмом обхода дерева предварительного заказа.
Remove()Удаляет себя от родителя.
ToString(SaveFormat)Экспортирует содержимое узла в строку указанного формата.
ToString(SaveOptions)Экспортирует содержимое узла в строку, используя указанные параметры сохранения.

Примеры

Показывает, как обрабатывать символы табуляции абсолютного положения с помощью посетителя документа.

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;
}

Смотрите также