Обновяване на полетата
Обикновено, полето се вмъква в Microsoft Word вече съдържа актуална стойност. Например, ако полето е формула или номер на страница, то ще съдържа правилната изчислена стойност за дадената версия на документа. Но ако имате приложение, което генерира или променя документ с полета като сливане на два документа или популиране с данни, тогава в идеалния случай всички полета трябва да бъдат актуализирани, за да бъде полезен документът.
Как да актуализираме полетата
Когато документът е зареден, Aspose.Words имитира поведението на Microsoft Word с опцията за автоматично обновяване на полетата е изключена. Поведението може да бъде обобщено по следния начин:
- когато отворите/ запишете документ, полетата остават непокътнати
- можете изрично да актуализирате всички полета в документ (напр. възстановяване на
- когато отпечатвате/ отпечатвате на PDF или XPS полетата, свързани с номерирането на страници в заглавни части/крачки, се актуализират
- когато изпълняваш Mail Merge всички полета се актуализират автоматично
Обновяване на полетата
За изрично актуализиране на полетата в целия документ, просто се обадете update_fields. За да актуализирате полетата, съдържащи се в част от документ, получавате Range обект и се обадете на update_fields метод. В Aspose.Words, може да получите Range за всеки възел в дървото на документа, като Section, HeaderFooter, Paragraph, и т. н. Node.range собственост. Можете да актуализирате резултата от едно поле като се обадите на update метод.
Автоматично обновяване на свързаните с страницата полета по време на предаването
Когато извършвате преобразуване на документ във формат с фиксирана страница, например на PDF или XPS, Тогава… Aspose.Words автоматично обновяване на полета, свързани с оформлението на страницата PAGE
, PAGEREF
намерен в заглавните части на документа. Това поведение имитира поведението на Microsoft Word при отпечатване на документ.
Ако искате да актуализирате всички други полета в документа, тогава трябва да се обадите update_fields преди да представи документа.
Следният пример за код показва как да актуализирате всички полета преди да представите документ:
Автоматично обновяване на полето по време на Mail Merge
Когато изпълните Mail Merge всички полета в документа ще бъдат автоматично актуализирани. Това е защото Mail Merge е случай на актуализация на полето. Програмата среща Mail Merge поле и трябва да актуализира своя резултат, което включва вземане на стойността от източника на данни и въвеждане му в полето. Логиката, разбира се, е по-сложна, например, когато краят на документа/mail merge регионът е достигнат, но все още има други данни, които трябва да се слеят, след това регионът трябва да бъде дублиран и новият набор от полета да бъде актуализиран.
Обновяване на полетата с мръсен принос
W: Мръсен е атрибут на ниво поле, което ще освежи само полето, което посочвате, когато документът е отворен. Тя казва на MS Word само да освежи това поле следващия път, когато документът е отворен. Можеш да използваш update_dirty_fields собственост, за да се уточни дали да се актуализират полетата с мръсен атрибут. Когато стойността на update_dirty_fields е зададено True
всички полета с True
стойност за Field.is_dirty или FieldChar.is_dirty Имотът се актуализира при натоварване на документи.
Следният пример за код показва как да актуализирате полета с мръсен атрибут:
Update LastSavedTime Имоти преди запазване
Можеш да използваш SaveOptions.update_last_saved_time_property собственост дали да се актуализира съответната вградена собственост на документ last_saved_time при запазване на документа.
Следният пример за код показва как да актуализирате това свойство: