Înlocuiți câmpurile cu Text Static
Înlocuirea câmpurilor este adesea necesară atunci când doriți să salvați documentul ca o copie statică. De exemplu, atunci când trimiteți ca atașament într-un e-mail. Conversia câmpurilor precum DATE
sau TIME
în text static va permite documentului să afișeze aceeași dată ca atunci când a fost trimis. De asemenea, în unele situații, poate fi necesar să eliminați câmpurile condiționale IF
din documentul dvs. și să le înlocuiți cu cel mai recent rezultat text. De exemplu, conversia rezultatului câmpului IF
în text static, astfel încât acesta să nu-și mai schimbe dinamic valoarea atunci când câmpurile din document sunt actualizate.
Diagrama de mai jos arată modul în care câmpul IF
este stocat într-un document:
- textul este înconjurat de nodurile câmpului special - FieldStart și FieldEnd
- nodul FieldSeparator separă textul din câmp în codul câmpului și rezultatul câmpului
- codul câmpului definește comportamentul general al câmpului, în timp ce rezultatul câmpului păstrează cel mai recent rezultat atunci când acest câmp este actualizat folosind Microsoft Word sau Aspose.Words
- rezultatul câmpului este ceea ce este stocat în câmp și afișat în document atunci când este vizualizat
Structura poate fi văzută și mai jos în formă ierarhică folosind proiectul demo “DocumentExplorer”.
Câmpuri care nu pot fi înlocuite cu Text
Înlocuirea unui câmp cu text static nu funcționează corect pentru unele câmpuri dintr-un antet sau subsol.
De exemplu, încercarea de a converti câmpul PAGE
dintr-un antet sau subsol în text static va duce la afișarea aceleiași valori pe toate paginile. Acest lucru se datorează faptului că anteturile și subsolurile sunt repetate pe mai multe pagini și, atunci când rămân ca câmpuri, sunt tratate în special pentru a afișa rezultatul corect pentru fiecare pagină.
Cu toate acestea, în antet, câmpul PAGE
se traduce bine în rularea statică a textului. Această rulare de text va fi evaluată ca și cum ar fi ultima pagină din secțiune, ceea ce va face ca orice câmp PAGE
din antet să afișeze ultima pagină peste toate paginile.
Următorul exemplu de cod arată cum să înlocuiți câmpul cu cel mai recent rezultat al acestuia:
Convertiți anumite tipuri de câmpuri în anumite părți ale documentului
Deoarece metoda ConvertFieldsToStaticText acceptă doi parametri – proprietățile CompositeNode și enumerarea FieldType, este posibil să se transmită orice nod compus acestei metode. Acest lucru permite convertirea câmpurilor în text static numai în anumite părți ale documentului.
De exemplu, puteți trece un obiect Document și puteți converti câmpuri de tipul specificat din întregul document în text static sau puteți trece un obiect Body dintr-o secțiune și puteți converti doar câmpurile găsite în acel corp.
Enumerarea FieldType transmisă metodei ConvertFieldsToStaticText specifică ce tip de câmpuri ar trebui convertite în text static. Orice alt tip de câmp găsit în document va rămâne neschimbat.
Următorul exemplu de cod arată cum să selectați câmpuri de un anumit tip – targetFieldType într – un anumit nod - compositeNode și apoi să le convertiți în text static:
Următorul exemplu de cod arată cum să convertiți toate câmpurile IF
dintr-un document în text static:
Următorul exemplu de cod arată cum să convertiți toate câmpurile PAGE
dintr-un corp al unui document în text static:
Următorul exemplu de cod arată cum să convertiți toate câmpurile IF
din ultimul paragraf în text static: