Champs d'équations et de formules

Champs d'équations et de formules

Champs d’équations et de formules

Ce guide montre comment travailler avec le FieldAdvance and FieldSymbol les classes de champs dans Aspose.Words FOSS pour .NET, qui implémentent les champs de Word ADVANCE and SYMBOL champs. Les deux classes dérivent de Field et implémentent IFieldCodeTokenInfoProvider; pour le Field modèle d’objet lui-même, voir le Travailler avec les champs guide.


Repositionnement du texte avec FieldAdvance

FieldAdvance implémente le champ ADVANCE, qui décale le texte qui le suit sans insérer de caractères visibles. DownOffset, UpOffset, LeftOffset et RightOffset (tous string) déplacent le texte suivant d’un certain nombre de points dans cette direction. HorizontalPosition et VerticalPosition (également string) déplacent le texte suivant à une position absolue mesurée depuis le bord gauche de la colonne, du cadre ou de la zone de texte, et le bord supérieur de la page, respectivement.


Insertion de caractères spéciaux avec FieldSymbol

FieldSymbol implémente le champ SYMBOL, qui insère un seul caractère par point de code. CharacterCode (string) fournit le point de code du caractère en décimal ou en hexadécimal. IsAnsi, IsUnicode et IsShiftJis (tous bool) sélectionnent la manière dont CharacterCode est interprété. FontName et FontSize (string) définissent la police utilisée pour rendre le caractère récupéré, et DontAffectsLineSpacing (bool) contrôle si le caractère inséré affecte l’interlignage du paragraphe.


Conseils et meilleures pratiques

  • Définissez uniquement l’un des IsAnsi, IsUnicode ou IsShiftJis sur un FieldSymbol afin d’éviter une interprétation ambiguë de CharacterCode.
  • Les propriétés de décalage de FieldAdvance sont string, pas des types numériques — transmettez les valeurs de points sous forme de chaînes lors de la définition de DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition ou VerticalPosition.
  • Définissez FieldSymbol.FontName sur une police qui contient réellement le glyphe à CharacterCode, sinon le caractère rendu peut revenir à un espace réservé de glyphe manquant.
  • Appelez Update() après avoir modifié une propriété sur FieldAdvance ou FieldSymbol afin que le Result / DisplayResult du champ reflète la modification.
  • Utilisez DontAffectsLineSpacing lors de l’insertion d’un caractère symbole haut ou inhabituel qui ne doit pas étirer la hauteur de la ligne environnante.

Problèmes courants

ProblèmeCauseCorrection
Le champ ADVANCE ne déplace pas le texte comme prévuLa mauvaise propriété de décalage a été définie, ou une valeur est restée à sa valeur par défautDéfinissez la propriété spécifique DownOffset / UpOffset / LeftOffset / RightOffset (relative) ou HorizontalPosition / VerticalPosition (absolue) qui correspond au déplacement souhaité
Le champ SYMBOL affiche le mauvais caractèreCharacterCode a été interprété avec le mauvais encodageDéfinissez exactement l’un des IsAnsi, IsUnicode ou IsShiftJis pour correspondre à la façon dont CharacterCode a été rédigé
Le caractère symbole est rendu comme une boîte de glyphe manquantFontName ne contient pas de glyphe pour CharacterCodeDéfinissez FontName sur une police connue pour inclure ce caractère

FAQ

À quoi sert le champ ADVANCE?

Il repositionne le texte qui le suit, soit par un décalage relatif (DownOffset, UpOffset, LeftOffset, RightOffset) ou une position absolue (HorizontalPosition, VerticalPosition), sans insérer de caractères visibles.

Comment insérer un caractère Unicode spécifique avec FieldSymbol?

Définissez CharacterCode au point de code du caractère, définissez IsUnicode = true, et éventuellement définissez FontName / FontSize pour le rendu du glyphe.

Les valeurs de décalage de FieldAdvance sont-elles des nombres ou des chaînes?

Ce sont des propriétés de string (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), correspondant au format d’argument brut du champ de code.

L’insertion d’un caractère SYMBOL affecte-t-elle l’espacement des lignes?

Définissez DontAffectsLineSpacing sur true pour empêcher le caractère inséré d’affecter la hauteur de ligne du paragraphe.


API Reference Résumé

Classe/MéthodeDescription
FieldAdvanceImplémente le champ ADVANCE ; repositionne le texte suivant sans insérer de caractères
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffsetDécalages de points relatifs appliqués au texte suivant
FieldAdvance.HorizontalPosition / VerticalPositionPosition de point absolue appliquée au texte suivant
FieldSymbolImplémente le champ SYMBOL ; insère un caractère par point de code
FieldSymbol.CharacterCodeLe point de code du caractère, en décimal ou en hexadécimal
FieldSymbol.IsAnsi / IsUnicode / IsShiftJisSélectionne comment CharacterCode est interprété
FieldSymbol.FontName / FontSizePolice utilisée pour rendre le caractère récupéré
FieldSymbol.DontAffectsLineSpacingContrôle si le caractère inséré affecte l’interligne du paragraphe

Voir aussi

 Français