AbsolutePositionTab

AbsolutePositionTab class

绝对位置制表符是一个字符,用于在显示此 WordprocessingML 内容时推进 当前文本行上的位置。

要了解更多信息,请访问Aspose.Words 文档对象模型 (DOM)文档文章。

public class AbsolutePositionTab : SpecialChar

特性

姓名描述
CustomNodeId { get; set; }指定自定义节点标识符。
virtual Document { get; }获取该节点所属的文档。
Font { get; }提供对此对象的字体格式的访问。
virtual IsComposite { get; }返回真的如果该节点可以包含其他节点.
IsDeleteRevision { get; }如果在启用更改跟踪时在 Microsoft Word 中删除了此对象,则返回 true。
IsFormatRevision { get; }如果在启用更改跟踪的情况下在 Microsoft Word 中更改了对象的格式,则返回 true。
IsInsertRevision { get; }如果在启用更改跟踪的情况下将此对象插入到 Microsoft Word 中,则返回 true。
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;
}

也可以看看