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() | Удаляет поле из документа. Возвращает узел сразу после поля. Если конец поля — последний child его родительского узла, возвращает его родительский абзац. Если поле уже удалено, возвращаетнулевой . |
Unlink() | Выполняет отмену связи поля. |
Update() | Выполняет обновление поля. Выдает исключение, если поле уже обновляется. |
Update(bool) | Выполняет обновление поля. Выдает исключение, если поле уже обновляется. |
Примечания
Поле в документе Word представляет собой сложную структуру, состоящую из нескольких узлов, которые включают начало поля, код поля, разделитель поля, результат поля и конец поля. Поля могут быть вложенными, содержать расширенный контент и охватывать несколько абзацев или разделов в документе.Field
класс представляет собой объект «фасад», который предоставляет свойства и методы, позволяющие работать с полем как с единым объектом.
TheStart
,Separator
иEnd
свойства указывают на начальный, разделительный и конечный узлы поля the соответственно.
Содержимое между началом поля и разделителем — это код поля. Содержимое между разделителем поля the и концом поля — это результат поля. Код поля обычно состоит из одного или нескольких Run
объекты, которые определяют инструкции. Ожидается, что обрабатывающее приложение выполнит код поля для вычисления результата поля.
Процесс вычисления результатов поля называется обновлением поля. Aspose.Words может обновлять field результаты большинства типов полей точно так же, как это делает Microsoft Word. В частности, Aspose.Words может вычислять результаты даже самых сложных полей формул. Чтобы вычислить field результат одного поля, используйтеUpdate
метод. Для обновления полей во всем document используйтеUpdateFields
.
Вы можете получить текстовую версию кода поля, используяGetFieldCode
method. Вы можете получить и задать текстовую версию результата поля, используяResult
property. Как код поля, так и результат поля могут содержать сложный контент, такой как вложенные поля, абзацы, фигуры, таблицы, и в этом случае вам может потребоваться работать с узлами полей напрямую, если вам требуется больше контроля.
Вы не создаете экземплярыField
class напрямую. Чтобы создать новое поле, используйте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.True((DateTime.Today - DateTime.Parse(field.Result)).Days <= 1);
Смотрите также
- пространство имен Aspose.Words.Fields
- сборка Aspose.Words