Velden vervangen door statische tekst

Het vervangen van Velden is vaak vereist wanneer u uw document als statische kopie wilt opslaan. Bijvoorbeeld bij het versturen als bijlage in een e-mail. Door velden zoals DATE of TIME om te zetten in statische tekst, kan het document dezelfde datum weergeven als toen het werd verzonden. In sommige situaties moet u mogelijk ook de voorwaardelijke IF - Velden uit uw document verwijderen en vervangen door het meest recente tekstresultaat. Bijvoorbeeld, het omzetten van het resultaat van het veld IF naar statische tekst, zodat het niet langer dynamisch de waarde verandert wanneer velden in het document worden bijgewerkt.

Het onderstaande diagram toont hoe het veld IF in een document is opgeslagen:

  • de tekst wordt omringd door de speciale veldknooppunten - FieldStart en FieldEnd
  • het knooppunt FieldSeparator scheidt de tekst binnen het veld in de veldcode en het veldresultaat
  • de veldcode definieert het algemene gedrag van het veld, terwijl het veldresultaat het meest recente resultaat behoudt wanneer dit veld wordt bijgewerkt met Microsoft Word of Aspose.Words
  • het veldresultaat is wat in het veld is opgeslagen en in het document wordt weergegeven wanneer het wordt bekeken

update-remove-a-field-aspose-words

De structuur kan ook worden gezien hieronder in hiërarchische vorm met behulp van de demo project “DocumentExplorer”.

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

Velden die niet door tekst kunnen worden vervangen

Het vervangen van een veld door statische tekst werkt niet goed voor sommige velden in een kop-of voettekst.

Als u bijvoorbeeld probeert het veld PAGE in een kop-of voettekst om te zetten in statische tekst, wordt op alle pagina ' s dezelfde waarde weergegeven. Dit komt omdat kop-en voetteksten op meerdere pagina ' s worden herhaald en wanneer ze als velden blijven, worden ze vooral behandeld zodat ze het juiste resultaat voor elke pagina weergeven.

In de koptekst vertaalt het veld PAGE zich echter goed naar statische tekst. Deze tekst wordt geëvalueerd alsof het de laatste pagina in de sectie is, waardoor elk PAGE - veld in de koptekst de laatste pagina over alle pagina ' s weergeeft.

Het volgende codevoorbeeld laat zien hoe u het veld kunt vervangen door het meest recente resultaat:

Converteer bepaalde veldtypen in specifieke Documentonderdelen

Aangezien de ConvertFieldsToStaticText methode twee parameters accepteert – de CompositeNode eigenschappen en de FieldType opsomming, is het mogelijk om elke samengestelde knoop door te geven aan deze methode. Hierdoor kunnen velden alleen in specifieke delen van het document worden geconverteerd naar statische tekst.

U kunt bijvoorbeeld een Document - object doorgeven en velden van het opgegeven type converteren van het hele document naar statische tekst, of u kunt een Body - object van een sectie doorgeven en alleen de velden in die hoofdtekst converteren.

De FieldType - opsomming die wordt doorgegeven aan de ConvertFieldsToStaticText - methode geeft aan welk type velden moet worden geconverteerd naar statische tekst. Elk ander veldtype in het document blijft ongewijzigd.

Het volgende codevoorbeeld laat zien hoe u velden van een specifiek type – targetFieldType selecteert in een specifiek knooppunt - compositeNode en deze vervolgens converteert naar statische tekst:

Het volgende codevoorbeeld laat zien hoe u alle IF velden in een document converteert naar statische tekst:

Het volgende codevoorbeeld laat zien hoe u alle PAGE - velden in een hoofdtekst van een document converteert naar statische tekst:

Het volgende codevoorbeeld laat zien hoe u alle IF velden in de laatste alinea converteert naar statische tekst: