Felder mit statischem Text ersetzen

Das Löschen von Feldern ist oft erforderlich, wenn Sie Ihr Dokument als statische Kopie speichern möchten. Zum Beispiel beim Senden als Anhang in einer E-Mail. Umrechnung von Feldern wie DATE oder TIME auf statischen Text ermöglicht es dem Dokument, das gleiche Datum wie beim Senden anzuzeigen. Auch, in einigen Situationen müssen Sie möglicherweise die Conditional entfernen IF Felder aus Ihrem Dokument und ersetzen sie stattdessen mit dem neuesten Textergebnis. Das Ergebnis des IF Feld zu statischem Text, so dass es seinen Wert nicht mehr dynamisch ändert, wenn Felder im Dokument aktualisiert werden.

Das folgende Diagramm zeigt, wie die IF Feld wird in einem Dokument gespeichert:

  • der Text ist von den speziellen Feldknoten umgeben – FieldStart und FieldEnd
  • FieldSeparator node trennt den Text innerhalb des Feldes in den Feldcode und Feldergebnis
  • der Feldcode definiert das allgemeine Verhalten des Feldes, während das Feldergebnis das jüngste Ergebnis bei der Aktualisierung dieses Feldes mit Microsoft Word oder Aspose.Words
  • das Feldergebnis ist das, was im Feld gespeichert wird und im Dokument angezeigt wird, wenn man betrachtet

update-remove-a-field-aspose-words

Die Struktur ist im folgenden auch hierarchisch mit dem Demo-Projekt zu sehen. “DocumentExplorer”, die mit dem Aspose.Words Installer.

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

Felder, die nicht durch Text ersetzt werden können

Die Wiederholung eines Feldes mit statischem Text funktioniert für einige Felder in einem Header oder Footer nicht richtig.

Zum Beispiel, versuchen, die PAGE Ein Feld in einem Header oder Footer zu statischem Text führt dazu, dass der gleiche Wert auf allen Seiten angezeigt wird. Dies liegt daran, dass Kopf- und Fußzeilen über mehrere Seiten wiederholt werden, und wenn sie als Felder verbleiben, werden sie besonders behandelt, so dass sie das richtige Ergebnis für jede Seite anzeigen.

Im Header, der PAGE Das Feld übersetzt gut zum statischen Textlauf. Dieser Textlauf wird ausgewertet, als ob er die letzte Seite im Abschnitt war, die jede PAGE Feld im Header, um die letzte Seite auf allen Seiten anzuzeigen.

Das folgende Codebeispiel zeigt, wie das Feld durch sein jüngstes Ergebnis ersetzt werden kann:

Bestimmte Feldtypen in bestimmten Dokumentteilen umrechnen

Seit ConvertFieldsToStaticText Methode akzeptiert zwei Parameter – die CompositeNode Eigenschaften und FieldType Aufzählung ist es möglich, jedem Kompositknoten dieses Verfahrens zu übergeben. Dadurch können Felder nur in bestimmten Teilen des Dokuments in statischen Text umgewandelt werden.

Zum Beispiel können Sie eine Document Objekt und Konvertieren von Feldern des angegebenen Typs vom gesamten Dokument in statischen Text, oder Sie können einen Body Objekt eines Abschnitts und nur die in diesem Körper gefundenen Felder umwandeln.

Die FieldType Aufzählung an die ConvertFieldsToStaticText Die Methode gibt an, welche Art von Feldern in statischen Text umgewandelt werden sollen. Jeder andere Feldtyp, der im Dokument gefunden wird, bleibt unverändert.

Das folgende Codebeispiel zeigt, wie Sie Felder eines bestimmten Typs auswählen – targetFieldType in einem bestimmten Knoten – compositeNode und dann in statischen Text umwandeln:

Das folgende Codebeispiel zeigt, wie man alle umwandelt IF Felder in einem Dokument zum statischen Text:

Das folgende Codebeispiel zeigt, wie man alle umwandelt PAGE Felder in einem Körper eines Dokuments zu statischem Text:

Das folgende Codebeispiel zeigt, wie man alle umwandelt IF Felder im letzten Absatz zum statischen Text: