Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Обычно поле, вставленное в Microsoft Word, уже содержит актуальное значение. Например, если поле представляет собой формулу или номер страницы, оно будет содержать правильное вычисленное значение для данной версии документа. Но если у вас есть приложение, которое генерирует или изменяет документ с полями (например, объединяет два документа или заполняет их данными), то для того, чтобы документ был полезным, все поля в идеале должны быть обновлены.
Поле состоит из:

Вот представление о том, как хранится поле в Aspose.Words, с использованием примера “DocumentExplorer”, который можно найти на Github.

Aspose.Words - это библиотека классов, предназначенная для обработки документов Microsoft Word на стороне сервера и поддерживающая поля следующими способами:
Поля в документах Microsoft Word сложны. Существует более 50 типов полей (для каждого из них требуется своя процедура вычисления результата), формулы и выражения, закладки и ссылки, функции и различные переключатели. Поля также могут быть вложенными. Обычно при открытии документа результат работы с полем (значение поля) отображается для всех полей в документе. Вы можете переключить отображение результатов работы с полем или кодов полей в Microsoft Word для всех полей, нажав ALT+F9.
| Код поля | Результат поля |
|---|---|
![]() |
![]() |
Чтобы вставить поле в Microsoft Word:




Чтобы обновить одно поле в Microsoft Word:
Чтобы обновить все поля в Microsoft Word:
Чтобы переключить коды полей для одного поля в Microsoft Word:
Чтобы переключить коды полей для всех полей в Microsoft Word:
Чтобы преобразовать динамическое поле в статический текст в Microsoft Word:
Чтобы удалить поле в Microsoft Word:
Когда документ загружается в Aspose.Words, поля документа загружаются в объектную модель документа Aspose.Words в виде набора отдельных компонентов (узлов). Одно поле загружается как набор узлов FieldStart, FieldSeparator и FieldEnd вместе с содержимым между этими узлами. Если у поля нет результата field, то не будет узла FieldSeparator. Все эти узлы всегда находятся в строке (как дочерние для Paragraph или SmartTag.
Содержимое, составляющее код поля, хранится в виде Run узлов между FieldStart и FieldSeparator. Результат поля хранится между узлами FieldSeparator и FieldEnd и может состоять из различных типов содержимого. Обычно поле результата содержит только текст, состоящий из узлов Run, однако возможно, что узел FieldEnd находится в совершенно другом абзаце, и, таким образом, поле результата также состоит из узлов блочного уровня, таких как узлы Table и Paragraph.
В Aspose.Words каждый из FieldXXX узлов является производным от FieldChar. Этот класс предоставляет свойство для проверки типа поля, представленного указанным узлом, с помощью свойства FieldChar.field_type. Например, FieldType.FIELD_MERGE_FIELD представляет поле объединения в документе.
В документе Word существуют некоторые особые поля, которые не импортируются в Aspose.Words как набор узлов FieldXXX. Например, поле LINK и поле INCLUDEPICTURE импортируются в Aspose.Words как объект Shape. Этот объект предоставляет свойства для работы с данными изображения, которые обычно хранятся в этих полях.
Поля формы также импортируются в Aspose.Words как их собственный специальный класс. Класс FormField представляет поле формы в документе Word и предоставляет дополнительные методы, характерные для поля формы.
В текущей версии Aspose.Words поддерживается вычисление следующих полей:
ADDRESSBLOCKAUTHORCOMPARECREATEDATEDATEDOCPROPERTYDOCVARIABLEGREETINGLINEIFINCLUDETEXTMERGEFIELDMERGERECMERGESEQNEXTNEXTIFNUMPAGESPAGEPAGEREFREFSECTIONSECTIONPAGESSEQSETSTYLEREFTIMETITLETOATOC (including TOT and TOF)Aspose.Words повторяет способ, которым Microsoft Word обрабатывает поля, и в результате корректно обрабатывает:
: IF { =OR({ COMPARE { =2.5 +PRODUCT(3,5 ,8.4) } > 4}, { =2/2 }) } = 1 "Credit not acceptable" "Credit acceptable"MERGEFIELD \f"Text after""Field \n\ame with \" and \\\ and \\\*"\bTextBefor\eAspose.Words обеспечивает очень серьезную реализацию движка формул и поддерживает следующее:
=(54+4*(6-77)-(5))+(-6-5)/4/5=ABS(-01.4)+2.645/(5.6^3.5)+776457 \\\# "#,##0"=IF(C>4, 5,ABS(A)*.76) +3.85=00000000 \\\# "$#,##0.00;($#,##0.00)"Поддерживаются следующие функции в выражениях: ABS, AND, AVERAGE, COUNT, DEFINED, FALSE, IF, INT, MAX, MIN, MOD, NOT, OR, PRODUCT, ROUND, SIGN, SUM, TRUE.
IF and COMPARE FieldsЛишь некоторые из выражений IF, которые Aspose.Words может легко вычислить, должны дать вам представление о том, насколько мощной является эта функция:
IF 3 > 5.7^4+MAX(4,3) True FalseIF "abcd" > "abc" True FalseIF "?ab*" = "1abdsg" True FalseIF 4 = "2*2" True FalseCOMPARE 3+5/34 < 4.6/3/2DATE and TIME FieldsAspose.Words поддерживает все параметры форматирования даты и времени, доступные в Microsoft Word, вот некоторые примеры:
DATE @ "d-MMM-yy"DATE @ "d/MM/yyyy h:mm am/pmAspose.Words не накладывает ограничений на сложность полей Mail Merge в ваших документах, поддерживает вложенные поля IF и поля формул и даже может вычислять название объединяемого поля с помощью формулы.
Несколько примеров полей Mail Merge, которые поддерживает Aspose.Words:
MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "IF { MERGEFIELDValue1 } >= {MERGEFIELD Value2 } True FalseMERGEFIELD { IF{MERGEFIELDValue1 } >= {MERGEFIELD Value2 } FirstName"LastName" }NEXTIF { MERGEFIELDValue1 } <= { =IF(-2.45 >= 6*{MERGEFIELD Value2 }, 2, -.45) }Поле в документе может иметь параметры форматирования, которые определяют, как должно быть отформатировано результирующее значение. Aspose.Words поддерживает следующие параметры форматирования:
Когда Aspose.Words вычисляет результат работы с полем, ему часто требуется преобразовать строку в число или значение даты, а также отформатировать ее обратно в строку.По умолчанию Aspose.Words использует текущую структуру потока для выполнения синтаксического анализа и форматирования при вычислении значений полей во время обновления поля и mail merge. Существуют также опции, представленные в виде класса FieldOptions, который позволяет дополнительно контролировать, какой регион используется при обновлении поля.
Чтобы управлять культурой, используемой при расчете поля, просто используйте метод locale.setlocale, чтобы задать культуру по вашему выбору перед вызовом расчета поля. В приведенном ниже примере показано, как изменить региональные параметры, используемые в полях форматирования во время обновления.
Использование существующих стандартов для форматирования полей позволяет системе легко и последовательно управлять форматированием всех полей в документе во время обновления полей.
С другой стороны, Microsoft Word форматирует каждое отдельное поле на основе языка текста, найденного в поле (в частности, на основе кода поля). Иногда при обновлении полей это может быть желательным, например, если у вас есть глобализированные документы, содержащие содержимое на многих разных языках, и вы хотите, чтобы каждое поле соответствовало языковому стандарту, используемому в тексте. Aspose.Words также поддерживает эту функциональность.
Класс Document предоставляет свойство field_options, которое содержит элементы, которые можно использовать для управления обновлением полей в документе. В приведенном ниже примере показано, как указать, где выбирается региональная структура, используемая для форматирования даты при обновлении полей, и Mail Merge.
Поле, вставленное с помощью DocumentBuilder.insert_field, возвращает объект Field. Это класс façade, который предоставляет полезные методы для быстрого поиска таких свойств поля. Примечание. Если вы ищете в документе только названия объединяемых полей, то вместо этого можете использовать встроенный метод MailMerge.get_field_names. В приведенном ниже примере показано, как получить названия всех объединяемых полей в документе.
В приведенном ниже примере показано, как переименовать объединяемые поля в документе Word.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.