Pole rovnic a vzorců

Pole rovnic a vzorců

Tento průvodce ukazuje, jak pracovat s FieldAdvance and FieldSymbol třídami polí v Aspose.Words FOSS pro .NET, které implementují Word ADVANCE and SYMBOL pole. Obě třídy dědí z Field a implementují IFieldCodeTokenInfoProvider; pro základní Field objektový model samotný, viz Práce s poli průvodce.


Přemístění textu pomocí FieldAdvance

FieldAdvance implementuje pole ADVANCE, které posouvá následující text, aniž by vkládalo viditelné znaky. DownOffset, UpOffset, LeftOffset a RightOffset (všechny string) posunou následující text o určitý počet bodů v daném směru. HorizontalPosition a VerticalPosition (také string) přesunou následující text na absolutní pozici měřenou od levého okraje sloupce, rámce nebo textového pole a od horního okraje stránky, respektive.


Vkládání speciálních znaků pomocí FieldSymbol

FieldSymbol implementuje pole SYMBOL, které vkládá jeden znak podle kódového bodu. CharacterCode (string) poskytuje kódový bod znaku v desítkové nebo šestnáctkové soustavě. IsAnsi, IsUnicode a IsShiftJis (všechny bool) určují, jak je CharacterCode interpretováno. FontName a FontSize (string) nastavují písmo použité k vykreslení získaného znaku a DontAffectsLineSpacing (bool) řídí, zda vložený znak ovlivňuje řádkování odstavce.


Tipy a osvědčené postupy

  • Nastavte pouze jeden z IsAnsi, IsUnicode nebo IsShiftJis na FieldSymbol, aby se předešlo nejednoznačné interpretaci CharacterCode.
  • Offsetové vlastnosti FieldAdvance jsou string, nikoli číselné typy — předávejte hodnoty bodů jako řetězce při nastavování DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition nebo VerticalPosition.
  • Nastavte FieldSymbol.FontName na písmo, které skutečně obsahuje glyfu na CharacterCode, jinak se vykreslený znak může vrátit k placeholderu chybějící glyfy.
  • Zavolejte Update() po změně libovolné vlastnosti na FieldAdvance nebo FieldSymbol, aby Result / DisplayResult pole odrážely změnu.
  • Použijte DontAffectsLineSpacing při vkládání vysokého nebo neobvyklého symbolu, který by neměl natahovat výšku okolní řádky.

Běžné problémy

ProblémPříčinaOprava
Pole ADVANCE nepřesouvá text podle očekáváníByla nastavena nesprávná vlastnost offset nebo hodnota zůstala na výchozí hodnotěNastavte konkrétní vlastnost DownOffset / UpOffset / LeftOffset / RightOffset (relativní) nebo HorizontalPosition / VerticalPosition (absolutní), která odpovídá zamýšlenému posunu
Pole SYMBOL zobrazuje špatný znakCharacterCode byl interpretován v nesprávném kódováníNastavte přesně jeden z IsAnsi, IsUnicode nebo IsShiftJis, aby odpovídal tomu, jak byl CharacterCode vytvořen
Znak symbolu se vykresluje jako rámeček chybějícího glyfuFontName neobsahuje glyf pro CharacterCodeNastavte FontName na písmo, o kterém je známo, že obsahuje tento znak.

FAQ

K čemu slouží pole ADVANCE?

Přesune text, který následuje, buď o relativní posun (DownOffset, UpOffset, LeftOffset, RightOffset) nebo o absolutní pozici (HorizontalPosition, VerticalPosition), aniž by vložil viditelné znaky.

Jak vložit konkrétní znak Unicode pomocí FieldSymbol?

Nastavte CharacterCode na kódový bod znaku, nastavte IsUnicode = true a volitelně nastavte FontName / FontSize pro vykreslení glyfu.

Jsou offsetové hodnoty FieldAdvance čísla nebo řetězce?

Jedná se o vlastnosti string (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), které odpovídají formátu argumentu surového pole-kódu.

Ovlivňuje vložení znaku SYMBOL řádkování?

Nastavte DontAffectsLineSpacing na true, aby vložený znak neovlivňoval výšku řádku odstavce.


API Reference Shrnutí

Třída/MetodaPopis:
FieldAdvanceImplementuje pole ADVANCE; přemístí následující text bez vložení znaků
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffsetRelativní posuny bodů aplikované na následující text
FieldAdvance.HorizontalPosition / VerticalPositionAbsolutní pozice bodu aplikovaná na následující text
FieldSymbolImplementuje pole SYMBOL; vloží znak podle kódového bodu
FieldSymbol.CharacterCodeKódový bod znaku, v desítkové nebo šestnáctkové soustavě
FieldSymbol.IsAnsi / IsUnicode / IsShiftJisUrčuje, jak je CharacterCode interpretováno
FieldSymbol.FontName / FontSizePísmo použité k vykreslení získaného znaku
FieldSymbol.DontAffectsLineSpacingUrčuje, zda vložený znak ovlivňuje řádkování odstavce

Viz také:

 Čeština