Введення в поля

Aspose.Words Бібліотека класу, призначена для обробки сервера Microsoft Word документи та супровід полів в наступних напрямках:

  • всі поля в документі зберігаються під час відкритого/Зберегти та перетворення
  • можна оновити результати найбільш полів

У цій статті ми дізнаємося більше про структуру поля, поля, які підтримуються в Aspose.Words, і деталі роботи з такими полями.

Структура поля

Поле складається з:

  • до Вузли польового старту і сепаратора використовуються для об’єднання вмісту, що робить код поля (звичайно як звичайний текст).
  • Сепаратор польового та польового кінця об’єднують польовий результат. Це може бути виконано з різних типів контенту, починаючи від ходу тексту до абзаців до таблиць.
  • Декілька полів не може мати сепаратор, який означає, що весь вміст робить код поля.
  • до Код поля визначає поведінку поля та складається з ідентифікатора поля та часто інших параметрів, таких як назва поля та вимикачі.
  • до В польових результатах міститься остання оцінка поля. Це значення зберігається в полі результат і є те, що відображається користувачеві. Деякі поля не можуть мати ніяких результатів поля, таким чином, не відображати нічого в документі. Тим не менш, деякі поля не можуть бути оновлені, але тому також не будуть польові результати.

fields-aspose-words-java

Зміст, що робить код поля, зберігається як Run вузли між FieldStart і FieldSeparatorй В результаті поля зберігається між FieldSeparator і FieldEnd вузлів і можуть бути виготовлені з різних типів контенту. Нормально польовий результат містить лише текст, який складається з вузлів Run, проте це можливо для вершини FieldEnd, який знаходиться в повністю іншому пункті, і, таким чином, що результат поля складається з Логічні рівні імен у документі як Table і Paragraph також вузли.

Ось чому поле зберігається в Aspose.Words за допомогою прикладу “DocumentExplorer” Гитубй

document-explorer-aspose-words-java

Сфери в Aspose.Words Document Object Model (Українська)DOMй

Коли документ завантажується <span notrans="<span notrans=" Aspose.Words"="">, > поля документа завантажуються в поля документа Aspose.Words Document Object Model як набір окремих компонентів (неподів). Єдине поле завантажується як збірка FieldStart, FieldSeparator і FieldEnd вершини разом з контентом у цих вузлах. Якщо поле не має поля, то не буде FieldSeparator вузол. Всі ці вершини завжди знайдені в Інтернеті (як діти) Paragraph або SmartTagй

У Aspose.Words кожен з FieldXXX вузли дервії з FieldCharй Даний клас надає майно для перевірки типу поля, представленого за вказаною вершиною через FieldType майно. Приклад FieldType.FieldMergeField являє собою поле злиття в документі.

Підтримувані поля

Розрахунок наступних полів підтримується в поточній версії 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 (в тому числі TOT і TOF)
  • USERADDRESS
  • USERINITIALS
  • USERNAME

Софістичне поле виховання

Aspose.Words в дорозі Microsoft Word обробляє поля і в результаті це правильно ручки:

  • роз’ємні поля: IF { =OR({ COMПАРЕ { =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 так мовний набір з польового коду поля використовується для форматування замість

Форматування за допомогою культури сучасної нитки

Для управління культурою, що використовується при розрахунку поля, просто встановлюють CurrentCulture майно на культуру вибору перед вилученням родовищ.

Приклад коду показує, як змінити культуру, що використовується у форматуванні поля під час оновлення:

EXAMPLE (за допомогою публічного обгортання ПоточнихНалаштування.getLocale() і setLocale() замість приватної Thread.CurrentThread.CurrentCulture)

Використання поточної культури для форматування полів дозволяє легко і послідовно контролювати, як всі поля в документі форматуються під час оновлення поля.

Форматування за допомогою культури в документі

З іншого боку, Microsoft Word Формати кожного окремого поля на основі мови тексту, знайденого у полі (зокрема, проходжень з коду поля). Іноді під час оновлення поля це може бути бажана поведінка, наприклад, якщо у вас є глобалізовані документи, що містять контент, що складається з багатьох різних мов і хотіли б кожен полів, щоб честь локалізації, що використовується з тексту. Aspose.Words також підтримує цей функціонал.

Про нас Document Клас надає FieldOptions майно, яке містить члени, які можуть бути використані для контролю того, як поля оновлюються в документі.

Приклад коду показує, як визначити, де культура використовується для форматування дати під час оновлення поля та mail merge Вибирається з:

КОМПЛЕКС