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,IsUnicodesauIsShiftJispe unFieldSymbolpentru a evita o interpretare ambiguă aCharacterCode. - Proprietățile de offset ale
FieldAdvancesuntstring, nu tipuri numerice — transmite valorile punctului ca șiruri de caractere când seteziDownOffset,UpOffset,LeftOffset,RightOffset,HorizontalPositionsauVerticalPosition. - Setează
FieldSymbol.FontNamela un font care într-adevăr conține glifa laCharacterCode, altfel caracterul redat poate reveni la un substituent pentru glifă lipsă. - Apelează
Update()după ce modifici orice proprietate peFieldAdvancesauFieldSymbolpentru caResult/DisplayResultal câmpului să reflecte modificarea. - Folosește
DontAffectsLineSpacingcâ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șteptat | A 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șit | CharacterCode 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 CharacterCode | Setaț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: |
|---|---|
FieldAdvance | Implementează câmpul ADVANCE; repoziționează textul următor fără a insera caractere |
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffset | Deplasări relative ale punctelor aplicate textului următor |
FieldAdvance.HorizontalPosition / VerticalPosition | Poziție absolută a punctului aplicată textului următor |
FieldSymbol | Implementează câmpul SYMBOL; inserează un caracter prin punct de cod |
FieldSymbol.CharacterCode | Punctul de cod al caracterului, în decimal sau hexazecimal |
FieldSymbol.IsAnsi / IsUnicode / IsShiftJis | Selectează modul în care CharacterCode este interpretat |
FieldSymbol.FontName / FontSize | Font utilizat pentru a reda caracterul preluat |
FieldSymbol.DontAffectsLineSpacing | Controlează dacă caracterul inserat afectează spațierea liniilor din paragraf |