Fält för ekvationer och formler

Fält för ekvationer och formler

Fält för ekvationer och formler

Den här guiden visar hur man arbetar med FieldAdvance and FieldSymbol fältklasser i Aspose.Words FOSS för .NET, som implementerar Word’s ADVANCE and SYMBOL fält. Båda klasserna ärver från Field och implementerar IFieldCodeTokenInfoProvider; för den grundläggande Field objektmodellen i sig, se den Arbeta med fält guiden.


Omplacering av text med FieldAdvance

FieldAdvance implementerar ADVANCE-fältet, som förskjuter den efterföljande texten utan att infoga synliga tecken. DownOffset, UpOffset, LeftOffset och RightOffset (alla string) flyttar den efterföljande texten ett antal punkter i den riktningen. HorizontalPosition och VerticalPosition (även string) placerar den efterföljande texten på en absolut position mätt från vänsterkanten av kolumnen, ramen eller textrutan och från toppen av sidan, respektive.


Infoga specialtecken med FieldSymbol

FieldSymbol implementerar SYMBOL-fältet, som infogar ett enda tecken via kodpunkt. CharacterCode (string) anger tecknets kodpunkt i decimal eller hexadecimal. IsAnsi, IsUnicode och IsShiftJis (alla bool) väljer hur CharacterCode tolkas. FontName och FontSize (string) anger det teckensnitt som ska användas för att rendera det hämtade tecknet, och DontAffectsLineSpacing (bool) styr om det infogade tecknet påverkar styckets radavstånd.


Tips och bästa praxis

  • Ställ in endast en av IsAnsi, IsUnicode eller IsShiftJis på en FieldSymbol för att undvika en tvetydig tolkning av CharacterCode.
  • FieldAdvances offset-egenskaper är string, inte numeriska typer — skicka punktvärden som strängar när du sätter DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition eller VerticalPosition.
  • Ställ in FieldSymbol.FontName till ett teckensnitt som faktiskt innehåller glyfen på CharacterCode, annars kan det renderade tecknet falla tillbaka till en platshållare för saknad glyf.
  • Anropa Update() efter att du ändrat någon egenskap på FieldAdvance eller FieldSymbol så att fältets Result / DisplayResult återspeglar förändringen.
  • Använd DontAffectsLineSpacing när du infogar ett högt eller ovanligt symboltecken som inte bör sträcka den omgivande radens höjd.

Vanliga problem

ProblemOrsakLösning
ADVANCE-fältet flyttar inte texten som förväntatFel offset-egenskap sattes, eller så lämnades ett värde på standardStäll in den specifika DownOffset / UpOffset / LeftOffset / RightOffset (relativ) eller HorizontalPosition / VerticalPosition (absolut) egenskapen som matchar den avsedda förflyttningen
SYMBOL-fältet visar fel teckenCharacterCode tolkades med fel kodningStäll in exakt en av IsAnsi, IsUnicode eller IsShiftJis så att den matchar hur CharacterCode skapades
Symboltecken renderas som en ruta för saknad glyfFontName innehåller ingen glyf för CharacterCodeStäll in FontName till ett teckensnitt som är känt för att inkludera det tecknet

FAQ

Vad gör fältet ADVANCE?

Den ompositionerar texten som följer den, antingen med ett relativt avstånd (DownOffset, UpOffset, LeftOffset, RightOffset) eller en absolut position (HorizontalPosition, VerticalPosition), utan att infoga synliga tecken.

Hur infogar jag ett specifikt Unicode-tecken med FieldSymbol?

Ställ in CharacterCode till tecknets kodpunkt, ställ in IsUnicode = true, och eventuellt ställ in FontName / FontSize för glyfens rendering.

Är FieldAdvance s förskjutningsvärden tal eller strängar?

De är string egenskaper (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), som matchar det råa fältkodargumentformatet.

Påverkar införandet av ett SYMBOL-tecken radavståndet?

Ställ in DontAffectsLineSpacing till true för att förhindra att det infogade tecknet påverkar styckets radhöjd.


API Reference Sammanfattning

Klass/MetodBeskrivning
FieldAdvanceImplementerar fältet ADVANCE; ompositionerar följande text utan att infoga tecken
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffsetRelativa punktförskjutningar tillämpas på följande text
FieldAdvance.HorizontalPosition / VerticalPositionAbsolut punktposition som tillämpas på följande text
FieldSymbolImplementerar SYMBOL-fältet; infogar ett tecken enligt kodpunkt
FieldSymbol.CharacterCodeTecknets kodpunkt, i decimal eller hexadecimal
FieldSymbol.IsAnsi / IsUnicode / IsShiftJisVäljer hur CharacterCode tolkas
FieldSymbol.FontName / FontSizeTeckensnitt som används för att rendera det hämtade tecknet
FieldSymbol.DontAffectsLineSpacingStyr om det infogade tecknet påverkar styckets radavstånd

Se även

 Svenska