Aktualizuj pola

Zazwyczaj, pole umieszczone w Microsoft Word zawiera zaktualizowaną wartość. Na przykład, jeśli pole jest wzorem lub numerem strony, będzie zawierać poprawną wartość obliczoną dla danej wersji dokumentu. Ale jeśli masz aplikację, która generuje lub modyfikuje dokument z polami takimi jak łączenie dwóch dokumentów lub populacja go z danymi, to najlepiej wszystkie pola muszą być aktualizowane, aby dokument był przydatny.

Jak zaktualizować pola

Kiedy dokument jest załadowany, Aspose.Words naśladuje zachowanie Microsoft Word z możliwością automatycznej aktualizacji pól jest wyłączona. Zachowanie można podsumować następująco:

  • po otwarciu / zapisaniu dokumentu pola pozostają nienaruszone
  • można wyraźnie zaktualizować wszystkie pola w dokumencie, na przykład odbudować TOC kiedy należy
  • gdy drukujesz / renderujesz do PDF lub XPS pola związane z numeracją konkursów w nagłówkach / stopkach są aktualizowane
  • kiedy wykonasz mail merge wszystkie pola są automatycznie aktualizowane

Aktualizacja pól programowo

Aby wyraźnie zaktualizować pola w całym dokumencie, po prostu zadzwoń UpdateFields Metoda. Aby zaktualizować pola zawarte w części dokumentu, uzyskać Range obiekt i wywołaj UpdateFields Metoda. W Aspose.Words, można uzyskać Range dla każdego węzła w drzewie dokumentów, takich jak Section, HeaderFooter, Paragraph, etc. GetRange nieruchomości. Możesz zaktualizować wynik pojedynczego pola wywołując Update Metoda.

Automatyczna aktualizacja pól pokrewnych podczas renderingu

Gdy wykonujesz konwersję dokumentu do formatu fixed-page np. do PDF lub XPS, wtedy Aspose.Words automatycznie aktualizuje pola związane z układem PAGE, PAGEREF znaleźć w nagłówkach / stopkach dokumentu. To zachowanie naśladuje zachowanie Microsoft Word podczas drukowania dokumentu.

Jeśli chcesz zaktualizować wszystkie inne pola w dokumencie, musisz zadzwonić UpdateFields przed złożeniem dokumentu.

Poniższy przykład pokazuje jak zaktualizować wszystkie pola przed sporządzeniem dokumentu:

Automatyczna aktualizacja pola podczas Mail Merge

Kiedy wykonujesz <span notrans="<span notrans=" mail merge"="">", > wszystkie pola w dokumencie będą automatycznie aktualizowane. To dlatego, że mail merge jest to przypadek aktualizacji pola. Program spotyka mail merge pole i musi uaktualnić jego wynik, co obejmuje chwytanie wartości ze źródła danych i umieszczanie go w polu. Logika jest oczywiście bardziej skomplikowana, na przykład, gdy koniec dokumentu /mail merge region został osiągnięty, ale nadal istnieją dalsze dane, które należy połączyć, a następnie region należy powielić i uaktualnić nowy zestaw pól.

Aktualizuj pola posiadające nieprzyzwoity atrybut

W: dirty jest atrybutem poziomu Field-, który odświeża tylko pole, które podasz po otwarciu dokumentu. Mówi MS Word, aby odświeżyć to pole dopiero przy następnym otwarciu dokumentu. Możesz użyć właściwości LoadOptions.setupdateDirtyFields (), aby określić, czy zaktualizować pola z atrybutem brudny. Kiedy wartość LoadOptions.setupdateDirtyFields () jest ustawiona na <span notrans="<span notrans=" true"="">", > wszystkie pola true wartość dla Field.IsDirty lub FieldChar.IsDirty nieruchomość jest aktualizowana przy załadowaniu dokumentu

Poniższy przykład kodu pokazuje, jak zaktualizować pola posiadające atrybut brudny:

Aktualizacja własności LastSavedTime przed zapisaniem

Można użyć UpdateLastSavedTimeProperty właściwość, czy zaktualizować odpowiednią właściwość built- in document LastSavedTime podczas zapisywania dokumentu.

Poniższy przykład kodu pokazuje jak zaktualizować tę właściwość: