Огляд поля
Aspose.Words Бібліотека класу, призначена для обробки сервера Microsoft Word документи та супровід полів в наступних напрямках:
- всі поля в документі зберігаються під час відкритого/Зберегти та перетворення
- можна оновити результати більшості полів
У цій статті ми дізнаємося більше про структуру поля, поля, які підтримуються в Aspose.Words, і деталі роботи з такими полями.
Структура поля
Поле складається з:
- до Вузли польового старту і сепаратора використовуються для об’єднання вмісту, що робить код поля (звичайно як звичайний текст).
- Сепаратор родовищ і польовий кінець об’єднують польовий результат. Це може бути виконано з різних типів контенту, починаючи від ходу тексту до абзаців до таблиць.
- Декілька полів не може мати сепаратор, який означає, що весь вміст робить код поля.
- до Код поля визначає поведінку поля та складається з ідентифікатора поля та часто інших параметрів, таких як назва поля та вимикачі.
- до В польових результатах міститься остання оцінка поля. Це значення зберігається в полі результат і є те, що відображається користувачеві. Деякі поля не можуть мати ніяких результатів поля, таким чином, не відображати нічого в документі. Тим не менш, деякі поля не можуть бути оновлені, але тому також не будуть польові результати.
Зміст, що робить код поля, зберігається як Run вузли між FieldStart і FieldSeparatorй Результат поля зберігається між FieldSeparator і FieldEnd вузлів і можуть бути виготовлені з різних типів контенту. Зазвичай результат поля містить лише текст, який складається з Run вузли, однак це можливо для FieldEnd вузол, щоб бути розташований в повністю різних абзацах, і таким чином, що результат поля складається з Логічні рівні імен у документі як Table і Paragraph також вузли.
Ось чому поле зберігається в Aspose.Words за допомогою прикладу “DocumentExplorer” Гитубй
Поле в полях Aspose.Words Document Object Model (Українська)DOMй
Коли документ завантажується Aspose.Words, поля документа завантажуються в поле документа Aspose.Words Document Object Model (DOM) як набір окремих компонентів (неподів). Єдине поле завантажується як збірка FieldStart, FieldSeparator і FieldEnd вершини разом з контентом у цих вузлах. Якщо поле не має поля, то не буде 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
USERNAME
Софістичне поле виховання
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\e
- поля, які пропускають через кілька абзаців
Сфери формул
Aspose.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
і COMPARE
Сфери
Просто деякі з 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
і TIME
Сфери
Aspose.Words підтримує всі перемикачі форматування часу, доступні в Microsoft Word, Приклади:
DATE @ "d-MMM-yy"
DATE @ "d/MM/yyyy h:mm am/pm
Mail Merge Сфери
Aspose.Words не обмежується складністю mail merge полів у ваших документах та підтримках IF
і формули поля і навіть можна розрахувати назву поля злиття за допомогою формули.
Деякі приклади mail merge поля, які Aspose.Words опори:
- до Mail merge польові вимикачі:
MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "
- непристойні поля злиття в формулі:
IF {
СЕРГЕФІКАЦІЯValue1 } >= {
СЕРГЕФІКАЦІЯValue2 } True False
- розрахувати ім’я поля злиття на runtime:
MERGEFIELD {
МСБ{
СЕРГЕФІКАЦІЯValue1 } >= {
СЕРГЕФІКАЦІЯValue2 } FirstName"LastName" }
- умовний перехід на наступний запис у джерело даних:
NEXTIF {
СЕРГЕФІКАЦІЯValue1 } <= { =IF(-2.45 >= 6*{
СЕРГЕФІКАЦІЯValue2 }, 2, -.45) }
Формат перемикачі
Поле в документі може мати форматування перемикачів, які вказують на те, як буде відформатовано значення. Aspose.Words підтримує наступні перемикачі формату:
- \\_ - форматування дати та часу
- \# - форматування номера
- \* Капи
- \* ПершийКап
- \* Нижній
- \\* Верхній
- \* ХАРФОРМАТ – результат формату згідно першого символу поля
- \* MERGEFORMAT - результат форматування за даними форматування старого результату
Date Форматування номерів в полях
Коли Aspose.Words розраховує результат поля, його часто потрібно ввести рядок в число або дату значення, а також форматувати його назад до рядка. За замовчуванням Aspose.Words використовує поточну культуру ниток для виконання парсингу та форматування при розрахунку значень поля при оновленні поля та mail mergeй Також існують варіанти, передбачені у вигляді FieldOptions клас, який дозволяє додатково контролювати, яку культуру використовується при оновленні поля.
- за замовчуванням FieldUpdateCultureSource Зручності в готелі CurrentThread які формати полів за допомогою поточної культури ниток
- дана властивість може бути встановлена FieldCode так мовний набір з польового коду поля використовується для форматування замість
Форматування за культурою сучасної нитки
Для управління культурою, що використовується під час розрахунку поля, просто встановлюється Thread.CurrentThread.CurrentCulture майно на культуру вибору перед вилученням родовищ.
Приклад коду показує, як змінити культуру, що використовується у форматуванні поля під час оновлення:
Використання поточної культури до форматних полів дозволяє легко і послідовно контролювати, як всі поля в документі форматуються під час оновлення поля.
Форматування за допомогою культури в документі
З іншого боку, Microsoft Word Формати кожного окремого поля на основі мови тексту, знайденого в полі (зокрема, проходжень з поля). Іноді під час оновлення поля це може бути бажана поведінка, наприклад, якщо у вас є глобалізовані документи, що містять контент, що складається з багатьох різних мов і хотіли б кожен полів, щоб честь локалізації, що використовується з тексту. Aspose.Words також підтримує цей функціонал.
Про нас Document Клас надає FieldOptions майно, яке містить члени, які можуть бути використані для контролю того, як поля оновлюються в документі.
Приклад коду показує, як визначити, де культура використовується для форматування дати під час оновлення поля та mail merge Вибирається з: