脚注和尾注
脚注和尾注
Aspose.Words FOSS for .NET 表示脚注和尾注,使用单一的 Footnote 节点类,通过其 FootnoteType 属性进行区分,同时在 Aspose.Words.Notes 命名空间中有单独的编号选项和分隔符类。
读取脚注和尾注内容
Footnote 是一个复合故事节点——类似于 Body 或表格单元格,它包含 Paragraphs 和 Tables——用于保存单个脚注或尾注的文本。它的 FootnoteType 属性(一个 FootnoteType 枚举值,Footnote 或 Endnote)用于区分其类型。ReferenceMark 返回配置的引用标记字符,ActualReferenceMark 返回实际渲染的标记(考虑自动编号),IsAuto 报告该标记是否为自动编号。ParentParagraph 定位主文档正文中出现脚注或尾注引用的段落。GetText() 提取脚注的纯文本内容,方式与其他故事级节点提供的方法相同。
配置编号和位置
脚注和尾注的编号及放置行为通过 FootnoteOptions 和 EndnoteOptions 分别控制,两者均实现共享的 IFootnoteOptions 接口。FootnoteOptions.Position(一个 FootnotePosition 值——BottomOfPage 或 BeneathText)和 EndnoteOptions.Position(一个 EndnotePosition 值——EndOfSection 或 EndOfDocument)决定每种类型的放置位置。两者都公开 NumberStyle、StartNumber 和 RestartRule(一个 FootnoteNumberingRule 值——Continuous、RestartSection、RestartPage 或 Default),用于控制编号序列。FootnoteOptions 还公开 Columns,用于在页面底部以多列方式布局脚注。
脚注和尾注分隔符
FootnoteSeparator 是一个故事节点,保存 Word 在主文档正文与脚注/尾注之间插入的内容——默认是短水平线,但它可以包含任何段落内容。它的 SeparatorType 属性(一个 FootnoteSeparatorType 值)区分 Word 定义的六种分隔符角色:FootnoteSeparator、FootnoteContinuationSeparator、FootnoteContinuationNotice,以及对应的尾注。FootnoteSeparatorCollection 通过 GetByFootnoteSeparatorType(FootnoteSeparatorType) 为文档中的所有分隔符节点提供类型化访问。
提示与最佳实践
- 在假设
Footnote节点是脚注之前,请检查Footnote.FootnoteType—— 同一类同时表示脚注和尾注。 - 当需要实际渲染的标记时,请使用
ActualReferenceMark而不是ReferenceMark,因为自动编号的标记与配置的标记字符不同。 - 在添加脚注/尾注内容之前配置
FootnoteOptions和EndnoteOptions,以便编号规则从第一条注释起始保持一致。 FootnoteSeparator内容很少被自定义 —— 大多数文档使用 Word 的默认分隔符 —— 但如果文档需要自定义的续篇通知,它也是完全可访问的。
常见问题
| 问题 | 原因 | 修复 |
|---|---|---|
| 在处理逻辑中脚注和尾注混淆 | 两者都使用相同的 Footnote 类 | 在 Footnote.FootnoteType 上分支 |
| 引用标记文本与渲染输出不匹配 | 使用了 ReferenceMark 而不是 ActualReferenceMark | 阅读 ActualReferenceMark 以获取渲染后的标记 |
| 编号在每页/章节意外地重新开始 | RestartRule 设置为 RestartPage 或 RestartSection | 将 RestartRule 设置为 Continuous 以实现文档范围的编号 |
| 页面底部的脚注列被忽略 | FootnoteOptions.Columns 未设置 | 在 FootnoteOptions 上显式设置 Columns |
FAQ
我该如何在代码中区分脚注和尾注?
检查 FootnoteType 属性在 Footnote 对象上 —— 它返回 FootnoteType.Footnote 或 FootnoteType.Endnote。
脚注和尾注可以使用不同的编号规则吗?
是的 —— FootnoteOptions 和 EndnoteOptions 是独立配置的,每个都有各自的 Position、NumberStyle、StartNumber 和 RestartRule。
FootnoteSeparator 用来做什么?
它表示 Word 插入的内容,用于在视觉上将主文档正文与脚注或尾注分隔开,并在脚注跨页时显示的提示。
Footnote 是否支持在注释内部使用表格?
是的 —— Footnote 暴露了一个 Tables 属性以及 Paragraphs,因为它是类似于主文档正文的复合故事节点。
API Reference 摘要
| 类 / 方法 | 描述 |
|---|---|
Footnote | 单个脚注或尾注内容的容器节点 |
FootnoteType | 枚举:Footnote,Endnote |
FootnoteOptions | 文档/章节的脚注编号和位置设置 |
EndnoteOptions | 文档/章节的尾注编号和位置设置 |
FootnotePosition / EndnotePosition | 用于放置的枚举 (BottomOfPage/BeneathText, EndOfSection/EndOfDocument) |
FootnoteNumberingRule | 控制编号何时重新开始的枚举 |
FootnoteSeparator | 脚注/尾注分隔符内容的故事节点 |
FootnoteSeparatorCollection | 对所有 FootnoteSeparator 节点的类型化访问 |
FootnoteSeparatorType | 枚举用于标识节点所代表的六种分隔符角色中的哪一种 |