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
Struktura można również zobaczyć poniżej w formie hierarchicznej za pomocą projektu demo “DocumentExplorer”, które statki z Aspose.Words Instalator.
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: