Zastąp pola tekstem statycznym

Zastąpienie pól jest często wymagane, gdy chcesz zapisać swój dokument jako kopię statyczną. Na przykład, wysyłając jako załącznik w e- mailu. Konwersja pól, takich jak DATE lub TIME tekst statyczny pozwoli dokumentowi na wyświetlenie tej samej daty co w momencie wysłania dokumentu. Ponadto, w niektórych sytuacjach, może wymagać usunięcia warunkowego IF pola z dokumentu i zastąpić je najnowszym wynikiem tekstu zamiast. Na przykład, konwersji wyniku IF pole do tekstu statycznego, więc nie będzie już dynamicznie zmieniać jego wartości podczas aktualizacji pól w dokumencie.

Poniższy schemat pokazuje jak IF pole jest przechowywane w dokumencie:

  • tekst jest otoczony przez specjalne węzły pola - FieldStart oraz FieldEnd
  • FieldSeparator węzeł oddziela tekst w polu od kodu pola i wyniku pola
  • kod pola definiuje ogólne zachowanie pola, podczas gdy wynik pola zachowuje ostatni wynik, gdy pole jest aktualizowane przy użyciu Microsoft Word lub Aspose.Words
  • wynik pola jest zapisany w polu i wyświetlany w dokumencie po obejrzeniu

update-remove-a-field-aspose-words

Struktura można również zobaczyć poniżej w formie hierarchicznej za pomocą projektu demo “DocumentExplorer”, które statki z Aspose.Words Instalator.

update-remove-a-field-aspose-words-2

Pola, których nie można zastąpić tekstem

Zastąpienie pola tekstem statycznym nie działa prawidłowo dla niektórych pól nagłówkiem lub stopką.

Na przykład, próbuje przekonwertować PAGE pole w nagłówku lub stopce do tekstu statycznego spowoduje wyświetlenie tej samej wartości na wszystkich stronach. Dzieje się tak dlatego, że nagłówki i stopki są powtarzane na wielu stronach, a kiedy pozostają jako pola, są obsługiwane szczególnie tak, że wyświetlają prawidłowy wynik dla każdej strony.

Jednak w nagłówku, PAGE pole przekłada się dobrze na statyczny bieg tekstu. Ten bieg tekstu będzie oceniony tak, jakby to była ostatnia strona w sekcji, która spowoduje jakiekolwiek PAGE pole w nagłówku, aby wyświetlić ostatnią stronę na wszystkich stronach.

Poniższy przykład kodu pokazuje, jak zastąpić pole najnowszym wynikiem:

Przelicz niektóre typy pól w poszczególnych częściach dokumentu

Od czasu ConvertFieldsToStaticText metoda akceptuje dwa parametry - CompositeNode właściwości i FieldType wyliczenie, możliwe jest przekazanie dowolnego złożonego węzła do tej metody. Pozwala to na konwersję pól na tekst statyczny tylko w określonych częściach dokumentu.

Na przykład, można przejść Document obiekt i konwertować pola określonego typu z całego dokumentu do tekstu statycznego, lub można przekazać Body obiekt sekcji i tylko konwertować pola znalezione w tym ciele.

W FieldType liczba przekazana do ConvertFieldsToStaticText metoda określa rodzaj pól, które należy przekonwertować na tekst statyczny. Każdy inny typ pola znaleziony w dokumencie pozostanie niezmieniony.

Poniższy przykład kodu pokazuje jak wybrać pola określonego typu - targetFieldType w określonym węźle - compositeNode a następnie przekonwertować je na tekst statyczny:

Poniższy przykład kodu pokazuje jak przekonwertować wszystkie IF pola w dokumencie do tekstu statycznego:

Poniższy przykład kodu pokazuje jak przekonwertować wszystkie PAGE pola w części dokumentu do tekstu statycznego:

Poniższy przykład kodu pokazuje jak przekonwertować wszystkie IF pola w ostatnim akapicie do tekstu statycznego: