Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words - это библиотека классов, предназначенная для обработки документов Microsoft Word на стороне сервера и поддерживающая поля следующими способами:
В этой статье мы узнаем больше о структуре поля, полях, поддерживаемых в Aspose.Words, и деталях работы с такими полями.
Поле состоит из:

Содержимое, составляющее код поля, хранится в виде Run узлов между FieldStart и FieldSeparator. Результат работы с полем хранится между узлами FieldSeparator и FieldEnd и может состоять из различных типов содержимого. Обычно поле результата содержит только текст, состоящий из Run узлов, однако возможно, что узел FieldEnd находится в совершенно другом абзаце, и, таким образом, поле результата состоит из узлы блочного уровня например, узлы Table и Paragraph.
Вот представление о том, как хранится поле в Aspose.Words, на примере “DocumentExplorer”.

Когда документ загружается в Aspose.Words, поля документа загружаются в объектную модель документа Aspose.Words как набор отдельных компонентов (узлов). Одно поле загружается как набор узлов FieldStart, FieldSeparator и FieldEnd вместе с содержимым между этими узлами. Если у поля нет результата field, то не будет узла FieldSeparator. Все эти узлы всегда находятся в строке (как дочерние для Paragraph или SmartTag).
В Aspose.Words каждый из узлов FieldXXX является производным от FieldChar. Этот класс предоставляет свойство для проверки типа поля, представленного указанным узлом, с помощью свойства FieldType. Например, FieldType.FieldMergeField представляет поле объединения в документе.
В документе Word существуют некоторые особые поля, которые не импортируются в Aspose.Words как набор из FieldXXX узлов. Например, поле LINK и поле INCLUDEPICTURE импортируются в Aspose.Words как объект Shape. Этот объект предоставляет свойства для работы с данными изображения, которые обычно хранятся в этих полях. Чтобы импортировать поле INCLUDEPICTURE в качестве узлов FieldXXX, параметр PreserveIncludePictureField должен быть указан как true.
Поля формы также импортируются в Aspose.Words как их собственный специальный класс. Класс FormField представляет поле формы в документе Word и предоставляет дополнительные методы, характерные для поля формы.
В текущей версии Aspose.Words поддерживается вычисление следующих полей:
ADDRESSBLOCK
ASK
AUTHOR
AUTONUM
AUTONUMLGL
AUTONUMOUT
AUTOTEXT
BARCODE
COMMENTS
COMPARE
CREATEDATE
DATABASE
DATE
DISPLAYBARCODE
DOCPROPERTY
DOCVARIABLE
EDITTIME
EQ
FILENAME
FILESIZE
FILLIN
FORMCHECKBOX
FORMDROPDOWN
FORMTEXT
GLOSSARY
GOTOBUTTON
GREETINGLINE
HYPERLINK
IF
IMPORT
INCLUDE
INCLUDEPICTURE
INCLUDETEXT
INDEX
INFO
KEYWORDS
LASTSAVEDBY
LISTNUM
MACROBUTTON
MERGEBARCODE
MERGEFIELD
MERGEREC
MERGESEQ
NEXT
NEXTIF
NOTEREF
NUMCHARS
NUMPAGES
NUMWORDS
PAGE
PAGEREF
PRINTDATE
QUOTE
REF
REVNUM
SAVEDATE
SECTION
SECTIONPAGES
SEQ
SET
SHAPE
SKIPIF
STYLEREF
SUBJECT
SYMBOL
TEMPLATE
TIME
TITLE
TOA
TOC
USERADDRESS
USERINITIALS
USERNAMEAspose.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 False
IF "abcd" > "abc" True False
IF "?ab*" = "1abdsg" True False
IF 4 = "2*2" True False
COMPARE 3+5/34 < 4.6/3/2
DATE and TIME FieldsAspose.Words поддерживает все параметры форматирования даты и времени, доступные в Microsoft Word, вот некоторые примеры:
DATE @ "d-MMM-yy"
DATE @ "d/MM/yyyy h:mm am/pm
Aspose.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, который позволяет дополнительно контролировать, какой регион используется при обновлении поля.
Чтобы управлять культурой, используемой при расчете поля, просто установите для свойства CurrentCulture значение культуры по вашему выбору перед вызовом расчета поля.
В следующем примере кода показано, как изменить региональные параметры, используемые в полях форматирования во время обновления:
Пример
Использование существующих стандартов для форматирования полей позволяет системе легко и последовательно управлять форматированием всех полей в документе во время обновления полей.
С другой стороны, Microsoft Word форматирует каждое отдельное поле на основе языка текста, содержащегося в поле (в частности, на основе кода поля). Иногда при обновлении полей это может быть желательным, например, если у вас есть глобализированные документы, содержащие содержимое на многих разных языках, и вы хотите, чтобы каждое поле соответствовало языковому стандарту, используемому в тексте. Aspose.Words также поддерживает эту функциональность.
Класс Document предоставляет свойство FieldOptions, которое содержит элементы, которые можно использовать для управления обновлением полей в документе.
В следующем примере кода показано, как указать, из какого источника выбирается региональная структура, используемая для форматирования даты при обновлении поля, и mail merge:
Пример
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.