Pola równań i formuł

Pola równań i formuł

Pola równań i formuł

Ten przewodnik pokazuje, jak pracować z FieldAdvance and FieldSymbol klasami pól w Aspose.Words FOSS dla .NET, które implementują Word’s ADVANCE and SYMBOL pól. Obie klasy dziedziczą po Field i implementują IFieldCodeTokenInfoProvider; dla podstawowego Field modelu obiektowego, zobacz Praca z polami przewodnik.


Przemieszczanie tekstu za pomocą FieldAdvance

FieldAdvance implementuje pole ADVANCE, które przesuwa następujący po nim tekst bez wstawiania widocznych znaków. DownOffset, UpOffset, LeftOffset i RightOffset (wszystkie string) przesuwają kolejny tekst o określoną liczbę punktów w danym kierunku. HorizontalPosition i VerticalPosition (również string) przesuwają kolejny tekst do pozycji absolutnej mierzonej od lewej krawędzi kolumny, ramki lub pola tekstowego oraz od górnej krawędzi strony, odpowiednio.


Wstawianie znaków specjalnych za pomocą FieldSymbol

FieldSymbol implementuje pole SYMBOL, które wstawia pojedynczy znak według punktu kodowego. CharacterCode (string) podaje punkt kodowy znaku w systemie dziesiętnym lub szesnastkowym. IsAnsi, IsUnicode i IsShiftJis (wszystkie bool) wybierają, jak CharacterCode jest interpretowany. FontName i FontSize (string) określają czcionkę używaną do renderowania pobranego znaku, a DontAffectsLineSpacing (bool) kontroluje, czy wstawiony znak wpływa na interlinię akapitu.


Wskazówki i najlepsze praktyki

  • Ustaw tylko jeden z IsAnsi, IsUnicode lub IsShiftJis na FieldSymbol, aby uniknąć niejednoznacznej interpretacji CharacterCode.
  • Właściwości offsetu FieldAdvance to string, a nie typy numeryczne — przekaż wartości punktowe jako ciągi znaków przy ustawianiu DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition lub VerticalPosition.
  • Ustaw FieldSymbol.FontName na czcionkę, która rzeczywiście zawiera glif w CharacterCode, w przeciwnym razie wyrenderowany znak może zostać zastąpiony symbolem zastępczym brakującego glifu.
  • Wywołaj Update() po zmianie dowolnej właściwości w FieldAdvance lub FieldSymbol, aby Result / DisplayResult pola odzwierciedlały zmianę.
  • Użyj DontAffectsLineSpacing przy wstawianiu wysokiego lub nietypowego znaku symbolicznego, który nie powinien rozciągać wysokości otaczającej linii.

Typowe problemy

ProblemPrzyczynaRozwiązanie
ADVANCE pole nie przesuwa tekstu zgodnie z oczekiwaniamiUstawiono nieprawidłową właściwość offsetu lub wartość pozostała w ustawieniu domyślnymUstaw konkretne właściwości DownOffset / UpOffset / LeftOffset / RightOffset (względne) lub HorizontalPosition / VerticalPosition (bezwzględne), które odpowiadają zamierzonemu przemieszczeniu
SYMBOL pole wyświetla niewłaściwy znakCharacterCode został zinterpretowany w niewłaściwym kodowaniuUstaw dokładnie jedną z IsAnsi, IsUnicode lub IsShiftJis, aby odpowiadała temu, jak CharacterCode został napisany
Znak symbolu wyświetla się jako pole z brakującym glifemFontName nie zawiera glifu dla CharacterCodeUstaw FontName na czcionkę, o której wiadomo, że zawiera ten znak

FAQ

Do czego służy pole ADVANCE?

Przemieszcza tekst, który po nim następuje, albo o offset względny (DownOffset, UpOffset, LeftOffset, RightOffset), albo o pozycję bezwzględną (HorizontalPosition, VerticalPosition), nie wstawiając widocznych znaków.

Jak wstawić konkretny znak Unicode za pomocą FieldSymbol?

Ustaw CharacterCode na punkt kodowy znaku, ustaw IsUnicode = true, a opcjonalnie ustaw FontName / FontSize dla renderowania glifu.

Czy wartości offsetu FieldAdvance są liczbami czy ciągami znaków?

Są to właściwości string (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), odpowiadające surowemu formatowi argumentu field-code.

Czy wstawienie znaku SYMBOL wpływa na odstępy między wierszami?

Ustaw DontAffectsLineSpacing na true, aby zapobiec wpływowi wstawionego znaku na wysokość linii akapitu.


API Reference Podsumowanie

Klasa/MetodaOpis
FieldAdvanceImplementuje pole ADVANCE; przemieszcza kolejny tekst bez wstawiania znaków
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffsetWzględne przesunięcia punktowe zastosowane do następującego tekstu
FieldAdvance.HorizontalPosition / VerticalPositionBezwzględna pozycja punktu zastosowana do poniższego tekstu
FieldSymbolImplementuje pole SYMBOL; wstawia znak według punktu kodowego
FieldSymbol.CharacterCodePunkt kodowy znaku, w zapisie dziesiętnym lub szesnastkowym
FieldSymbol.IsAnsi / IsUnicode / IsShiftJisWybiera, jak CharacterCode jest interpretowane
FieldSymbol.FontName / FontSizeCzcionka używana do renderowania pobranego znaku
FieldSymbol.DontAffectsLineSpacingKontroluje, czy wstawiony znak wpływa na odstępy między wierszami akapitu

Zobacz także

 Polski