Footnote

Footnote class

表示脚注或尾注文本的容器。

public class Footnote : InlineStory

构造函数

姓名 描述
Footnote(DocumentBase, FootnoteType) 初始化 脚注类.

特性

姓名 描述
ChildNodes { get; } 获取该节点的所有直接子节点。
Count { get; } 获取此节点的直接子节点数。
CustomNodeId { get; set; } 指定自定义节点标识符。
virtual Document { get; } 获取该节点所属的文档。
FirstChild { get; } 获取节点的第一个子节点。
FirstParagraph { get; } 获取故事的第一段。
Font { get; } 提供对该对象的锚字符的字体格式的访问。
FootnoteType { get; } 返回一个值,该值指定这是脚注还是尾注。
HasChildNodes { get; } 如果此节点有任何子节点,则返回 true。
IsAuto { get; set; } 保存一个值,该值指定这是自动编号的脚注还是带有用户定义的自定义参考标记的 脚注。
override IsComposite { get; } 返回真,因为该节点可以有子节点。
IsDeleteRevision { get; } 如果在启用更改跟踪时在 Microsoft Word 中删除了此对象,则返回 true。
IsInsertRevision { get; } 如果在启用更改跟踪时将此对象插入 Microsoft Word,则返回 true。
IsMoveFromRevision { get; } 返回 真的如果启用更改跟踪时此对象在 Microsoft Word 中被移动(删除)。
IsMoveToRevision { get; } 返回 真的如果启用更改跟踪时在 Microsoft Word 中移动(插入)此对象。
LastChild { get; } 获取节点的最后一个子节点。
LastParagraph { get; } 获取故事的最后一段。
NextSibling { get; } 获取紧跟此节点的节点。
override NodeType { get; } 返回 节点类型脚注.
Paragraphs { get; } 获取作为故事直接子级的段落集合。
ParentNode { get; } 获取此节点的直接父节点。
ParentParagraph { get; } 检索父级Paragraph这个节点的.
PreviousSibling { get; } 获取紧接在此节点之前的节点。
Range { get; } 返回一个 范围表示此节点中包含的文档部分的对象。
ReferenceMark { get; set; } 获取/设置用于此脚注的自定义参考标记。 默认值为 空字符串(Empty),表示使用自动编号的脚注。
override StoryType { get; } 返回 StoryType.脚注或者 故事类型.尾注.
Tables { get; } 获取作为故事直接子级的表的集合。

方法

姓名 描述
override Accept(DocumentVisitor) 接受访客。
AppendChild(Node) 将指定节点添加到该节点的子节点列表的末尾。
Clone(bool) 创建节点的副本。
CreateNavigator() 保留供系统使用。 IXPathNavigable.
EnsureMinimum() 如果最后一个孩子不是段落,则创建并附加一个空段落。
GetAncestor(NodeType) 获取指定的第一个祖先NodeType.
GetAncestor(Type) 获取指定对象类型的第一个祖先。
GetChild(NodeType, int, bool) 返回与指定类型匹配的第 N 个子节点。
GetChildNodes(NodeType, bool) 返回与指定类型匹配的子节点的实时集合。
GetEnumerator() 为在该节点的子节点上的每个样式迭代提供支持。
override GetText() 获取该节点及其所有子节点的文本。
IndexOf(Node) 返回子节点数组中指定子节点的索引。
InsertAfter(Node, Node) 在指定参考节点之后立即插入指定节点。
InsertBefore(Node, Node) 在指定的参考节点之前插入指定的节点。
NextPreOrder(Node) 根据前序树遍历算法获取下一个节点。
PrependChild(Node) 将指定节点添加到此节点的子节点列表的开头。
PreviousPreOrder(Node) 根据前序树遍历算法获取上一个节点。
Remove() 从父级中移除自身。
RemoveAllChildren() 移除当前节点的所有子节点。
RemoveChild(Node) 移除指定的子节点。
RemoveSmartTags() 删除所有SmartTag当前节点的后代节点。
SelectNodes(string) 选择与 XPath 表达式匹配的节点列表。
SelectSingleNode(string) 选择与 XPath 表达式匹配的第一个节点。
ToString(SaveFormat) 将节点的内容导出为指定格式的字符串。
ToString(SaveOptions) 使用指定的保存选项将节点的内容导出为字符串。

评论

脚注类用于表示 Word 文档中的脚注和尾注。

脚注是一个内联级节点,只能是 段落.

脚注可以包含 段落桌子子节点。

例子

显示如何插入和自定义脚注。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// 添加文本,并用脚注引用它。这个脚注将放置一个小的上标参考
// 在它引用的文本之后标记,并在页面底部的主体文本下方创建一个条目。
// 此条目将包含脚注的参考标记和参考文本,
// 我们将传递给文档构建器的“InsertFootnote”方法。
builder.Write("Main body text.");
Footnote footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

// 如果这个属性设置为“true”,那么我们脚注的引用标记
// 将是它在所有部分脚注中的索引。
// 这是第一个脚注,所以引用标记为“1”。
Assert.True(footnote.IsAuto);

// 我们可以在脚注中移动文档构建器来编辑其参考文本。 
builder.MoveTo(footnote.FirstParagraph);
builder.Write(" More text added by a DocumentBuilder.");
builder.MoveToDocumentEnd();

Assert.AreEqual("\u0002 Footnote text. More text added by a DocumentBuilder.", footnote.GetText().Trim());

builder.Write(" More main body text.");
footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

// 我们可以设置一个自定义引用标记,脚注将使用它而不是它的索引号。
footnote.ReferenceMark = "RefMark";

Assert.False(footnote.IsAuto);

// 将“IsAuto”标志设置为 true 的书签仍将显示其真实索引
// 即使以前的书签显示自定义参考标记,所以这个书签的参考标记将是“3”。
builder.Write(" More main body text.");
footnote = builder.InsertFootnote(FootnoteType.Footnote, "Footnote text.");

Assert.True(footnote.IsAuto);

doc.Save(ArtifactsDir + "InlineStory.AddFootnote.docx");

也可以看看