Velden vervangen door statische tekst

Velden vervangen is vaak vereist als u uw document als statische kopie wilt opslaan. Bijvoorbeeld bij het verzenden als bijlage in een e-mail. Omzetten van velden zoals DATE of TIME de statische tekst geeft het document dezelfde datum weer als toen het werd verzonden. Ook, in sommige situaties, kunt u nodig hebben om de voorwaardelijke verwijderen IF velden uit uw document en vervang ze door het meest recente tekstresultaat. Bijvoorbeeld, het omzetten van het resultaat van de IF veld naar statische tekst zodat het niet langer dynamisch verandert wanneer de velden in het document worden bijgewerkt.

Het diagram hieronder laat zien hoe de IF veld wordt opgeslagen in een document:

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

update-remove-a-field-aspose-words

De structuur is ook hieronder te zien in hiërarchische vorm met behulp van de demoproject Verkenner.

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

Velden die niet kunnen worden vervangen door tekst

Een veld vervangen door statische tekst werkt niet goed voor sommige velden in een header of voettekst.

Bijvoorbeeld, proberen om de PAGE veld in een header of voettekst tot statische tekst zal resulteren in dezelfde waarde wordt weergegeven op alle pagina’s. Dit komt omdat headers en voetteksten worden herhaald over meerdere pagina’s, en als ze blijven als velden, ze worden behandeld vooral zodat ze het juiste resultaat voor elke pagina.

Echter, in de kop, de PAGE veld vertaalt goed naar statische tekst. Deze run van tekst zal worden geëvalueerd alsof het de laatste pagina in de sectie, die zal veroorzaken PAGE veld in de header om de laatste pagina weer te geven over alle pagina’s.

Het volgende voorbeeld van code laat zien hoe het veld te vervangen door het meest recente resultaat:

Converteer bepaalde veldtypes in specifieke documentonderdelen

Sinds de ConvertFieldsToStaticText de methode accepteert twee parameters CompositeNode eigenschappen en de FieldType Opsomming, het is mogelijk om elke samengestelde knooppunt aan deze methode door te geven. Hierdoor kunnen velden alleen in specifieke delen van het document worden omgezet in statische tekst.

U kunt bijvoorbeeld een Document object en converteer velden van het opgegeven type van het hele document naar statische tekst, of u kunt een Body object van een sectie en alleen de velden die in dat lichaam.

De FieldType Aan de ConvertFieldsToStaticText methode specificeert welk type velden moet worden omgezet in statische tekst. Elk ander veldtype in het document blijft ongewijzigd.

Het volgende voorbeeld van de code laat zien hoe u velden van een specifiek type kunt selecteren: targetFieldType in een specifiek knooppunt compositeNode en dan converteren naar statische tekst:

Het volgende voorbeeld van code laat zien hoe u alles kunt converteren IF velden in een document naar statische tekst:

Het volgende voorbeeld van code laat zien hoe u alles kunt converteren PAGE velden in een Lichaam van een document naar statische tekst:

Het volgende voorbeeld van code laat zien hoe u alles kunt converteren IF velden in de laatste alinea tot statische tekst: