Заменете полетата със статичен текст
Заместването на полета често се изисква, когато искате да запишете вашия документ като статично копие. Например, когато изпращате като прикачен файл в имейл. Конвертирането на полета като DATE
или TIME
в статичен текст ще позволи на документа да показва същата дата, както когато е бил изпратен. Също така в някои ситуации може да се наложи да премахнете условните IF
полета от вашия документ и вместо това да ги замените с най-новия текстов резултат. Например конвертиране на резултата от полето IF
в статичен текст, така че да не променя динамично стойността си, когато се актуализират полетата в документа.
Диаграмата по-долу показва как полето IF
се съхранява в документ:
- текстът е заобиколен от специални полеви възли - FieldStart и FieldEnd
- възелът FieldSeparator разделя текста в полето на кода на полето и резултата от полето
- кодът на полето определя общото поведение на полето, докато резултатът от полето запазва най-новия резултат, когато това поле се актуализира с Microsoft Word или Aspose.Words
- резултатът от полето е това, което се съхранява в полето и се показва в документа, когато се разглежда
Структурата може да се види и по-долу в йерархична форма, като се използва демо проект “DocumentExplorer”.
Полета, които не могат да бъдат заменени с текст
Заместването на поле със статичен текст не работи правилно за някои полета в горен или долен колонтитул.
Например, ако се опитате да конвертирате полето PAGE
в горен или долен колонтитул в статичен текст, ще се покаже една и съща стойност на всички страници. Това е така, защото горни и долни колонтитули се повтарят на няколко страници, а когато останат като полета, те се обработват особено така, че да показват правилния резултат за всяка страница.
Въпреки това в заглавката полето PAGE
се превежда добре в статично изпълнение на текста. Това изпълнение на текста ще бъде оценено, сякаш е последната страница в секцията, което ще доведе до показване на последната страница на всички страници на всяко поле PAGE
в заглавката.
Следващият пример за код показва как да заместите полето с последния му резултат:
Конвертиране на определени типове полета в определени части на документа
Тъй като методът ConvertFieldsToStaticText приема два параметъра – CompositeNode свойства и FieldType изброяване, е възможно към този метод да се премине всеки съставен възел. Това позволява полетата да бъдат преобразувани в статичен текст само в определени части на документа.
Например можете да подадете обект Document и да конвертирате полета от посочения тип от целия документ в статичен текст, или можете да подадете обект Body на секция и да конвертирате само полетата, открити в този орган.
Изброяването FieldType, предадено на метода ConvertFieldsToStaticText, указва какъв тип полета трябва да бъдат преобразувани в статичен текст. Всеки друг тип поле, намерен в документа, ще остане непроменен.
Следващият пример за код показва как да изберете полета от определен тип – targetFieldType в конкретен възел - compositeNode и след това да ги конвертирате в статичен текст:
Следващият пример за код показва как да конвертирате всички IF
полета в документ в статичен текст:
Следващият пример за код показва как да конвертирате всички полета PAGE
в тялото на документ в статичен текст:
Следващият пример за код показва как да конвертирате всички полета IF
в последния абзац в статичен текст: