Câmpuri de ecuații și formule

Câmpuri de ecuații și formule

Câmpuri de Ecuații și Formule

Acest ghid arată cum să lucrați cu FieldAdvance and FieldSymbol clasele de câmp în Aspose.Words FOSS pentru .NET, care implementează Word’s ADVANCE and SYMBOL câmpuri. Ambele clase derivă din Field și implementează IFieldCodeTokenInfoProvider; pentru modelul de bază Field de obiect în sine, consultați Lucrul cu Câmpuri ghid.


Reposiționarea textului cu FieldAdvance

FieldAdvance implementează câmpul ADVANCE, care deplasează textul care îl urmează fără a insera caractere vizibile. DownOffset, UpOffset, LeftOffset și RightOffset (toate string) mută textul următor cu un număr de puncte în acea direcție. HorizontalPosition și VerticalPosition (de asemenea string) mută textul următor la o poziție absolută măsurată de la marginea stângă a coloanei, cadrului sau casetei de text și de la marginea superioară a paginii, respectiv.


Inserarea de caractere speciale cu FieldSymbol

FieldSymbol implementează câmpul SYMBOL, care inserează un singur caracter prin punctul de cod. CharacterCode (string) furnizează punctul de cod al caracterului în format decimal sau hexazecimal. IsAnsi, IsUnicode și IsShiftJis (toate bool) selectează modul în care CharacterCode este interpretat. FontName și FontSize (string) stabilesc fontul utilizat pentru a reda caracterul recuperat, iar DontAffectsLineSpacing (bool) controlează dacă caracterul inserat afectă spațierea liniilor paragrafului.


Sfaturi și cele mai bune practici

  • Setează doar unul dintre IsAnsi, IsUnicode sau IsShiftJis pe un FieldSymbol pentru a evita o interpretare ambiguă a CharacterCode.
  • Proprietățile de offset ale FieldAdvance sunt string, nu tipuri numerice — transmite valorile punctului ca șiruri de caractere când setezi DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition sau VerticalPosition.
  • Setează FieldSymbol.FontName la un font care într-adevăr conține glifa la CharacterCode, altfel caracterul redat poate reveni la un substituent pentru glifă lipsă.
  • Apelează Update() după ce modifici orice proprietate pe FieldAdvance sau FieldSymbol pentru ca Result / DisplayResult al câmpului să reflecte modificarea.
  • Folosește DontAffectsLineSpacing când inserezi un caracter simbol înalt sau neobișnuit care nu ar trebui să extindă înălțimea liniei înconjurătoare.

Probleme comune

ProblemăCauzăRemediere
Câmpul ADVANCE nu mută textul așa cum era de așteptatA fost setată proprietatea offset greșită sau o valoare a rămas la valoarea implicităSetați proprietatea specifică DownOffset / UpOffset / LeftOffset / RightOffset (relativă) sau HorizontalPosition / VerticalPosition (absolută) care se potrivește cu mișcarea dorită
Câmpul SYMBOL afișează caracterul greșitCharacterCode a fost interpretat cu codificarea greșităSetaţi exact una dintre IsAnsi, IsUnicode sau IsShiftJis pentru a se potrivi cu modul în care CharacterCode a fost redactat
Caracterul simbol se afișează ca o cutie cu glif lipsăFontName nu conține un glif pentru CharacterCodeSetați FontName la un font cunoscut că include acel caracter

FAQ

Ce face câmpul ADVANCE?

Repoziționează textul care îl urmează, fie printr-un offset relativ (DownOffset, UpOffset, LeftOffset, RightOffset) sau o poziție absolută (HorizontalPosition, VerticalPosition), fără a insera caractere vizibile.

Cum pot insera un caracter Unicode specific cu FieldSymbol?

Setați CharacterCode la punctul de cod al caracterului, setați IsUnicode = true și, opțional, setați FontName / FontSize pentru redarea glifului.

Valorile de offset ale FieldAdvance sunt numere sau șiruri?

Ele sunt proprietăți ale string (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), care corespund formatului de argument al codului de câmp brut.

Inserarea unui caracter SYMBOL afectează spațierea dintre linii?

Setați DontAffectsLineSpacing la true pentru a împiedica caracterul inserat să afecteze înălțimea liniei paragrafului.


API Reference Rezumat

Clasă/MetodăDescriere:
FieldAdvanceImplementează câmpul ADVANCE; repoziționează textul următor fără a insera caractere
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffsetDeplasări relative ale punctelor aplicate textului următor
FieldAdvance.HorizontalPosition / VerticalPositionPoziție absolută a punctului aplicată textului următor
FieldSymbolImplementează câmpul SYMBOL; inserează un caracter prin punct de cod
FieldSymbol.CharacterCodePunctul de cod al caracterului, în decimal sau hexazecimal
FieldSymbol.IsAnsi / IsUnicode / IsShiftJisSelectează modul în care CharacterCode este interpretat
FieldSymbol.FontName / FontSizeFont utilizat pentru a reda caracterul preluat
FieldSymbol.DontAffectsLineSpacingControlează dacă caracterul inserat afectează spațierea liniilor din paragraf

Vezi și:

 Română