Class FieldNoteRef
内容
[
隐藏
]FieldNoteRef class
实现 NOTEREF 字段。
public class FieldNoteRef : Field
构造函数
姓名 | 描述 |
---|---|
FieldNoteRef() | 默认构造函数。 |
特性
姓名 | 描述 |
---|---|
BookmarkName { get; set; } | 获取或设置书签的名称。 |
DisplayResult { get; } | 获取表示显示字段结果的文本。 |
End { get; } | 获取代表字段end的节点。 |
Format { get; } | 得到一个FieldFormat 提供对字段格式的类型化访问的对象。 |
InsertHyperlink { get; set; } | 获取或设置是否插入书签段落的超链接。 |
InsertReferenceMark { get; set; } | 插入具有与脚注参考 或尾注参考样式相同的字符格式的参考标记。 |
InsertRelativePosition { get; set; } | 获取或设置是否插入书签段落的相对位置。 |
IsDirty { get; set; } | 获取或设置字段的当前结果是否由于对文档的其他修改而不再正确(陈旧)。 |
IsLocked { get; set; } | 获取或设置字段是否被锁定(不应重新计算其结果)。 |
LocaleId { get; set; } | 获取或设置字段的LCID。 |
Result { get; set; } | 获取或设置字段分隔符和字段结尾之间的文本。 |
Separator { get; } | 获取表示字段分隔符的节点。可以为空。 |
Start { get; } | 获取表示字段开始的节点。 |
virtual Type { get; } | 获取 Microsoft Word 字段类型。 |
方法
姓名 | 描述 |
---|---|
GetFieldCode() | 返回字段开始和字段分隔符之间的文本(或字段结束,如果没有分隔符)。 包括子字段的字段代码和字段结果。 |
GetFieldCode(bool) | 返回字段开始和字段分隔符之间的文本(如果没有分隔符,则返回字段结束)。 |
Remove() | 从文档中删除字段。在字段之后返回一个节点。如果字段的结尾是其父节点的最后一个 child ,则返回其父段落。如果该字段已被删除,则返回 无效的. |
Unlink() | 执行字段取消链接。 |
Update() | 执行字段更新。如果该字段已被更新,则抛出。 |
Update(bool) | 执行字段更新。如果该字段已被更新,则抛出。 |
评论
插入由指定书签标记的脚注或尾注的标记。
例子
显示插入 NOTEREF 字段并修改其外观。
public void FieldNoteRef()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// 创建一个带有脚注的书签,NOTEREF 字段将引用该书签。
InsertBookmarkWithFootnote(builder, "MyBookmark1", "Contents of MyBookmark1", "Footnote from MyBookmark1");
// 此 NOTEREF 字段将显示引用书签内的脚注编号。
// 设置 InsertHyperlink 属性让我们可以通过 Ctrl + 单击 Microsoft Word 中的字段来跳转到书签。
Assert.AreEqual(" NOTEREF MyBookmark2 \\h",
InsertFieldNoteRef(builder, "MyBookmark2", true, false, false, "Hyperlink to Bookmark2, with footnote number ").GetFieldCode());
// 使用 \p 标志时,在脚注编号之后,该字段还显示书签相对于该字段的位置。
// Bookmark1 在此字段上方,包含脚注编号 1,因此更新时结果将为“1 above”。
Assert.AreEqual(" NOTEREF MyBookmark1 \\h \\p",
InsertFieldNoteRef(builder, "MyBookmark1", true, true, false, "Bookmark1, with footnote number ").GetFieldCode());
// Bookmark2 在该字段下方,包含脚注编号 2,因此该字段将显示“2 below”。
// \f 标志使数字 2 以与实际文本中的脚注数字标签相同的格式出现。
Assert.AreEqual(" NOTEREF MyBookmark2 \\h \\p \\f",
InsertFieldNoteRef(builder, "MyBookmark2", true, true, true, "Bookmark2, with footnote number ").GetFieldCode());
builder.InsertBreak(BreakType.PageBreak);
InsertBookmarkWithFootnote(builder, "MyBookmark2", "Contents of MyBookmark2", "Footnote from MyBookmark2");
doc.UpdateFields();
doc.Save(ArtifactsDir + "Field.NOTEREF.docx");
/// <summary>
/// 使用文档构建器插入具有指定属性的 NOTEREF 字段。
/// </summary>
private static FieldNoteRef InsertFieldNoteRef(DocumentBuilder builder, string bookmarkName, bool insertHyperlink, bool insertRelativePosition, bool insertReferenceMark, string textBefore)
{
builder.Write(textBefore);
FieldNoteRef field = (FieldNoteRef)builder.InsertField(FieldType.FieldNoteRef, true);
field.BookmarkName = bookmarkName;
field.InsertHyperlink = insertHyperlink;
field.InsertRelativePosition = insertRelativePosition;
field.InsertReferenceMark = insertReferenceMark;
builder.Writeln();
return field;
}
/// <summary>
/// 使用文档构建器在末尾插入带有脚注的命名书签。
/// </summary>
private static void InsertBookmarkWithFootnote(DocumentBuilder builder, string bookmarkName, string bookmarkText, string footnoteText)
{
builder.StartBookmark(bookmarkName);
builder.Write(bookmarkText);
builder.InsertFootnote(FootnoteType.Footnote, footnoteText);
builder.EndBookmark(bookmarkName);
builder.Writeln();
}
也可以看看
- class Field
- 命名空间 Aspose.Words.Fields
- 部件 Aspose.Words