Обновяване на полетата

Обикновено, полето се вмъква в Microsoft Word вече съдържа актуална стойност. Например, ако полето е формула или номер на страница, то ще съдържа правилната изчислена стойност за дадената версия на документа. Но ако имате приложение, което генерира или променя документ с полета като сливане на два документа или популиране с данни, тогава в идеалния случай всички полета трябва да бъдат актуализирани, за да бъде полезен документът.

Как да актуализираме полетата

Когато документът е зареден, Aspose.Words имитира поведението на Microsoft Word с опцията за автоматично обновяване на полетата е изключена. Поведението може да бъде обобщено по следния начин:

  • когато отворите/ запишете документ, полетата остават непокътнати
  • можете изрично да актуализирате всички полета в документ, например, възстановяване TOC, когато трябва
  • когато отпечатвате/ отпечатвате на PDF или XPS полетата, свързани с номерирането на страници в заглавни части/крачки, се актуализират
  • когато изпълняваш Mail Merge всички полета се актуализират автоматично

Обновяване на полетата

За изрично актуализиране на полетата в целия документ, просто наричате UpdateFields метод. За да актуализирате полетата, съдържащи се в част от документ, получавате Range обект и се обадете на UpdateFields метод. В Aspose.Words, може да получите Range за всеки възел в дървото на документа, като Section, HeaderFooter , Paragraph, и т. н. Node.Range собственост. Можете да актуализирате резултата от едно поле като се обадите на Update метод.

Автоматично обновяване на свързаните с страницата полета по време на предаването

Когато извършвате преобразуване на документ във формат с фиксирана страница, например на PDF или XPS, Тогава… Aspose.Words автоматично обновяване на полета, свързани с оформлението на страницата PAGE, PAGEREF намерен в заглавните части на документа. Това поведение имитира поведението на Microsoft Word при отпечатване на документ.

Ако искате да актуализирате всички други полета в документа, тогава трябва да се обадите UpdateFields преди да представи документа.

Следният пример за код показва как да актуализирате всички полета преди да представите документ:

Автоматично обновяване на полето по време на Mail Merge

Когато изпълните Mail Merge всички полета в документа ще бъдат автоматично актуализирани. Това е защото Mail Merge е случай на актуализация на полето. Програмата среща Mail Merge поле и трябва да актуализира своя резултат, което включва вземане на стойността от източника на данни и въвеждане му в полето. Логиката, разбира се, е по-сложна, например, когато краят на документа/mail merge регионът е достигнат, но все още има други данни, които трябва да се слеят, след това регионът трябва да бъде дублиран и новият набор от полета да бъде актуализиран.

Обновяване на полетата с мръсен принос

W: Мръсен е атрибут на ниво поле, което ще освежи само полето, което посочвате, когато документът е отворен. Тя казва на MS Word само да освежи това поле следващия път, когато документът е отворен. Можете да използвате UpdateDirtyFields собственост, за да се уточни дали да се актуализират полетата с мръсен атрибут. Когато стойността на UpdateDirtyFields е зададено true всички полета с true стойност за Field.IsDirty или FieldChar.IsDirty Имотът се актуализира при натоварване на документи.

Следният пример за код показва как да актуализирате полета с мръсен атрибут:

Update LastSavedTime Имоти преди запазване

Можеш да използваш UpdateLastSavedTimeProperty собственост дали да се актуализира съответната вградена собственост на документ LastSavedTime при запазване на документа.

Следният пример за код показва как да актуализирате това свойство: