Gleichungen und Formelfelder

Gleichungen und Formelfelder

Gleichungen und Formelfelder

Dieser Leitfaden zeigt, wie man mit dem FieldAdvance and FieldSymbol Feldklassen in Aspose.Words FOSS für .NET, die Word’s implementieren ADVANCE and SYMBOL Felder. Beide Klassen erben von Field und implementieren IFieldCodeTokenInfoProvider; für das Basis Field Objektmodell selbst, siehe die Arbeiten mit Feldern Leitfaden.


Text neu positionieren mit FieldAdvance

FieldAdvance implementiert das ADVANCE-Feld, das den nachfolgenden Text verschiebt, ohne sichtbare Zeichen einzufügen. DownOffset, UpOffset, LeftOffset und RightOffset (alle string) verschieben den nachfolgenden Text um eine Anzahl von Punkten in diese Richtung. HorizontalPosition und VerticalPosition (auch string) positionieren den nachfolgenden Text an einer absoluten Position, gemessen vom linken Rand der Spalte, des Rahmens oder der Textbox bzw. vom oberen Rand der Seite.


Einfügen von Sonderzeichen mit FieldSymbol

FieldSymbol implementiert das SYMBOL-Feld, das ein einzelnes Zeichen anhand seines Codepoints einfügt. CharacterCode (string) liefert den Codepoint des Zeichens in dezimaler oder hexadezimaler Form. IsAnsi, IsUnicode und IsShiftJis (alle bool) bestimmen, wie CharacterCode interpretiert wird. FontName und FontSize (string) setzen die Schriftart, die zum Rendern des abgerufenen Zeichens verwendet wird, und DontAffectsLineSpacing (bool) steuert, ob das eingefügte Zeichen den Zeilenabstand des Absatzes beeinflusst.


Tipps und bewährte Verfahren

  • Setzen Sie nur eines von IsAnsi, IsUnicode oder IsShiftJis auf einem FieldSymbol, um eine mehrdeutige Interpretation von CharacterCode zu vermeiden.
  • Die Offset-Eigenschaften von FieldAdvance sind string, keine numerischen Typen — übergeben Sie Punktwerte als Zeichenketten, wenn Sie DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition oder VerticalPosition festlegen.
  • Setzen Sie FieldSymbol.FontName auf eine Schriftart, die das Glyph bei CharacterCode tatsächlich enthält, sonst kann das gerenderte Zeichen auf einen fehlenden-Glyph-Platzhalter zurückfallen.
  • Rufen Sie Update() auf, nachdem Sie eine Eigenschaft von FieldAdvance oder FieldSymbol geändert haben, damit die Result / DisplayResult des Feldes die Änderung widerspiegelt.
  • Verwenden Sie DontAffectsLineSpacing, wenn Sie ein hohes oder ungewöhnliches Symbolzeichen einfügen, das die Höhe der umgebenden Zeile nicht strecken sollte.

Häufige Probleme

ProblemUrsacheLösung
ADVANCE Feld verschiebt den Text nicht wie erwartetDie falsche Offset-Eigenschaft wurde gesetzt, oder ein Wert blieb auf dem StandardwertSetzen Sie die spezifische DownOffset / UpOffset / LeftOffset / RightOffset (relativ) oder HorizontalPosition / VerticalPosition (absolut) Eigenschaft, die der beabsichtigten Bewegung entspricht
SYMBOL Feld zeigt das falsche Zeichen anCharacterCode wurde mit der falschen Kodierung interpretiertLegen Sie genau eines von IsAnsi, IsUnicode oder IsShiftJis so fest, dass es dem entspricht, wie CharacterCode verfasst wurde
Das Symbolzeichen wird als fehlende Glyph-Box dargestelltFontName enthält kein Glyph für CharacterCodeSetze FontName auf eine Schriftart, die dieses Zeichen enthält.

FAQ

Was bewirkt das Feld ADVANCE?

Es positioniert den nachfolgenden Text neu, entweder durch einen relativen Versatz (DownOffset, UpOffset, LeftOffset, RightOffset) oder eine absolute Position (HorizontalPosition, VerticalPosition), ohne sichtbare Zeichen einzufügen.

Wie füge ich ein bestimmtes Unicode-Zeichen mit FieldSymbol ein?

Setze CharacterCode auf den Codepunkt des Zeichens, setze IsUnicode = true und optional FontName / FontSize für die Darstellung des Glyphen.

Sind die Versatzwerte von FieldAdvance Zahlen oder Zeichenketten?

Es handelt sich um string-Eigenschaften (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), die dem Rohfeld-Code-Argumentformat entsprechen.

Beeinflusst das Einfügen eines SYMBOL-Zeichens den Zeilenabstand?

Setze DontAffectsLineSpacing auf true, um zu verhindern, dass das eingefügte Zeichen die Zeilenhöhe des Absatzes beeinflusst.


API Reference Zusammenfassung

Klasse/MethodeBeschreibung
FieldAdvanceImplementiert das Feld ADVANCE; positioniert den nachfolgenden Text neu, ohne Zeichen einzufügen
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffsetRelative Punktversätze, die auf den folgenden Text angewendet werden
FieldAdvance.HorizontalPosition / VerticalPositionAbsolute Punktposition, die auf den folgenden Text angewendet wird
FieldSymbolImplementiert das Feld SYMBOL; fügt ein Zeichen anhand des Codepunkts ein
FieldSymbol.CharacterCodeDer Codepunkt des Zeichens, dezimal oder hexadezimal
FieldSymbol.IsAnsi / IsUnicode / IsShiftJisWählt aus, wie CharacterCode interpretiert wird
FieldSymbol.FontName / FontSizeSchriftart, die zum Rendern des abgerufenen Zeichens verwendet wird
FieldSymbol.DontAffectsLineSpacingSteuert, ob das eingefügte Zeichen den Zeilenabstand des Absatzes beeinflusst

Siehe auch

 Deutsch