Field
Field class
Представляет поле документа Microsoft Word.
Чтобы узнать больше, посетитеРабота с полями статья документации.
public class Field
Характеристики
Имя | Описание |
---|---|
DisplayResult { get; } | Получает текст, представляющий результат отображаемого поля. |
End { get; } | Получает узел, представляющий конец поля. |
Format { get; } | ПолучаетFieldFormat объект, обеспечивающий типизированный доступ к форматированию поля. |
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() | Удаляет поле из документа. Возвращает узел сразу после поля. Если конец поля является последним дочерним его родительского узла, возвращает его родительский абзац. Если поле уже удалено, возвращаетсянулевой . |
Unlink() | Выполняет отсоединение поля. |
Update() | Выполняет обновление поля. Выдает, если поле уже обновляется. |
Update(bool) | Выполняет обновление поля. Выдает, если поле уже обновляется. |
Примечания
Поле в документе Word представляет собой сложную структуру, состоящую из нескольких узлов, которые включают начало поля, код поля , разделитель полей, результат поля и конец поля. Поля могут быть вложенными, содержать богатое содержимое и содержать несколько абзацев или разделов в документе.Field
class — это «фасадный» объект, который предоставляет свойства и методы , позволяющие работать с полем как с единым объектом.
Start
,Separator
иEnd
Свойства указывают на начальный, разделительный и конечный узлы поля the поля соответственно.
Содержимое между началом поля и разделителем представляет собой код поля. Содержимое между разделителем полей the и концом поля является результатом поля. Код поля обычно состоит из одного или нескольких Run
объекты, задающие инструкции. Ожидается, что приложение обработки выполнит код поля для вычисления результата поля.
Процесс расчета результатов поля называется обновлением поля. Aspose.Words может обновлять результаты field большинства типов полей точно так же, как это делает Microsoft Word. В частности, Aspose.Words может вычислять результаты даже самых сложных полей формул. Чтобы вычислить результат field для одного поля, используйтеUpdate
метод. Чтобы обновить поля во всем документе document , используйтеUpdateFields
.
Вы можете получить текстовую версию кода поля, используя командуGetFieldCode
метод. Вы можете получить и установить текстовую версию результата поля, используя методResult
property. И код поля, и результат поля могут содержать сложное содержимое, такое как вложенные поля, абзацы, фигуры, таблицы , и в этом случае вы можете захотеть работать с узлами полей напрямую, если вам нужно больше контроля.
Вы не создаете экземплярыField
напрямую класс. Чтобы создать новое поле, используйтеInsertField
метод.
Примеры
Показывает, как вставить поле в документ с помощью кода поля.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Field field = builder.InsertField("DATE \\@ \"dddd, MMMM dd, yyyy\"");
Assert.AreEqual(FieldType.FieldDate, field.Type);
Assert.AreEqual("DATE \\@ \"dddd, MMMM dd, yyyy\"", field.GetFieldCode());
// Эта перегрузка метода InsertField автоматически обновляет вставленные поля.
Assert.That(DateTime.Parse(field.Result), Is.EqualTo(DateTime.Today).Within(1).Days);
Смотрите также
- пространство имен Aspose.Words.Fields
- сборка Aspose.Words