FieldNoteRef
Содержание
[
Скрывать
]FieldNoteRef class
Реализует поле NOTEREF.
Чтобы узнать больше, посетитеРабота с полями документальная статья.
public class FieldNoteRef : Field
Конструкторы
Имя | Описание |
---|---|
FieldNoteRef() | Конструктор по умолчанию. |
Характеристики
Имя | Описание |
---|---|
BookmarkName { get; set; } | Получает или задает имя закладки. |
DisplayResult { get; } | Получает текст, представляющий отображаемый результат поля. |
End { get; } | Получает узел, представляющий конец поля. |
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.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Write("CrossReference: ");
FieldNoteRef field = (FieldNoteRef)builder.InsertField(FieldType.FieldNoteRef, false); // <--- не обновлять поле
field.BookmarkName = "CrossRefBookmark";
field.InsertHyperlink = true;
field.InsertReferenceMark = true;
field.InsertRelativePosition = false;
builder.Writeln();
builder.StartBookmark("CrossRefBookmark");
builder.Write("Hello world!");
builder.InsertFootnote(FootnoteType.Footnote, "Cross referenced footnote.");
builder.EndBookmark("CrossRefBookmark");
builder.Writeln();
doc.UpdateFields();
// Это поле работает только в старых версиях Microsoft Word.
doc.Save(ArtifactsDir + "Field.NOTEREF.doc");
Демонстрирует возможность вставки полей 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 выше».
Assert.AreEqual(" NOTEREF MyBookmark1 \\h \\p",
InsertFieldNoteRef(builder, "MyBookmark1", true, true, false, "Bookmark1, with footnote number ").GetFieldCode());
// Закладка2 находится под этим полем и содержит сноску номер 2, поэтому в поле будет отображаться «2 ниже».
// Флаг \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.UpdatePageLayout();
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