Актуализиране На Полетата

Обикновено поле, вмъкнато в 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 региона, но има още данни за обединяване, след което регионът трябва да се дублира и новият набор от полета да се актуализира.

Обновяване На Имот LastSavedTime Преди Запазване

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

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