Remplacer les champs par un texte statique

Le remplacement des champs est souvent nécessaire lorsque vous souhaitez enregistrer votre document comme une copie statique. Par exemple, lors de l’envoi comme pièce jointe dans un courriel. Convertir des champs tels que DATE ou TIME au texte statique permettra au document d’afficher la même date que lorsqu’il a été envoyé. En outre, dans certaines situations, vous devrez peut-être supprimer le IF les champs de votre document et les remplacer par le résultat le plus récent. Par exemple, la conversion du résultat de la IF field to static text de sorte qu’il ne changera plus dynamiquement sa valeur lorsque les champs du document seront mis à jour.

Le diagramme ci-dessous montre comment IF champ est stocké dans un document:

  • le texte est entouré par les nœuds de champ spéciaux – FieldStart et FieldEnd
  • les FieldSeparator le noeud sépare le texte dans le champ dans le code du champ et le résultat du champ
  • le code de champ définit le comportement général du champ, tandis que le résultat du champ conserve le résultat le plus récent lorsque ce champ est mis à jour en utilisant Microsoft Word ou Aspose.Words
  • le résultat du champ est ce qui est stocké dans le champ et affiché dans le document quand consulté

update-remove-a-field-aspose-words

La structure peut également être vue ci-dessous sous forme hiérarchique en utilisant le projet de démonstration “DocumentExplorer”, qui expédie avec le Aspose.Words installateur.

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

Champs qui ne peuvent pas être remplacés par un texte

Remplacer un champ par un texte statique ne fonctionne pas correctement pour certains champs dans un en-tête ou un pied de page.

Par exemple, essayer de convertir le PAGE dans un en-tête ou un pied de page vers un texte statique, la même valeur sera affichée sur toutes les pages. C’est parce que les en-têtes et les pied de page sont répétés sur plusieurs pages, et quand ils restent comme des champs, ils sont manipulés surtout afin qu’ils affichent le résultat correct pour chaque page.

Cependant, dans l’en-tête, PAGE champ traduit bien à l’exécution statique du texte. Cette série de texte sera évaluée comme si c’était la dernière page de la section, ce qui provoquera PAGE champ dans l’en-tête pour afficher la dernière page sur toutes les pages.

L’exemple de code suivant montre comment remplacer le champ par son dernier résultat:

Convertir certains types de champs dans des pièces de documents spécifiques

Depuis le ConvertFieldsToStaticText méthode accepte deux paramètres – la CompositeNode propriétés et FieldType énumération, il est possible de passer n’importe quel nœud composite à cette méthode. Cela permet de convertir les champs en texte statique uniquement dans des parties spécifiques du document.

Par exemple, vous pouvez passer un Document objet et convertir les champs du type spécifié du document entier en texte statique, ou vous pouvez passer un Body objet d’une section et convertir seulement les champs trouvés dans ce corps.

Les FieldType le dénombrement est passé à ConvertFieldsToStaticText méthode précise le type de champs à convertir en texte statique. Tout autre type de champ trouvé dans le document restera inchangé.

L’exemple de code suivant montre comment sélectionner les champs d’un type spécifique – targetFieldType dans un noeud spécifique – compositeNode puis les convertir en texte statique:

L’exemple de code suivant montre comment convertir tous IF champs dans un document vers un texte statique:

L’exemple de code suivant montre comment convertir tous PAGE champs dans un corps d’un document à texte statique:

L’exemple de code suivant montre comment convertir tous IF champs dans le dernier paragraphe au texte statique: