Campos de Equações e Fórmulas

Campos de Equações e Fórmulas

Campos de Equações e Fórmulas

Este guia mostra como trabalhar com o FieldAdvance and FieldSymbol classes de campo em Aspose.Words FOSS para .NET, que implementam Word’s ADVANCE and SYMBOL campos. Ambas as classes derivam de Field e implementam IFieldCodeTokenInfoProvider; para o modelo base Field do modelo de objeto em si, veja o Trabalhando com Campos guia.


Reposicionamento de Texto com FieldAdvance

FieldAdvance implementa o campo ADVANCE, que desloca o texto que o segue sem inserir caracteres visíveis. DownOffset, UpOffset, LeftOffset e RightOffset (todos string) movem o texto subsequente por um número de pontos naquela direção. HorizontalPosition e VerticalPosition (também string) movem o texto subsequente para uma posição absoluta medida a partir da borda esquerda da coluna, quadro ou caixa de texto, e da borda superior da página, respectivamente.


Inserindo Caracteres Especiais com FieldSymbol

FieldSymbol implementa o campo SYMBOL, que insere um único caractere por ponto de código. CharacterCode (string) fornece o ponto de código do caractere em decimal ou hexadecimal. IsAnsi, IsUnicode e IsShiftJis (todos bool) selecionam como CharacterCode é interpretado. FontName e FontSize (string) definem a fonte usada para renderizar o caractere recuperado, e DontAffectsLineSpacing (bool) controla se o caractere inserido afeta o espaçamento de linhas do parágrafo.


Dicas e Melhores Práticas

  • Defina apenas um de IsAnsi, IsUnicode ou IsShiftJis em um FieldSymbol para evitar uma interpretação ambígua de CharacterCode.
  • As propriedades de deslocamento de FieldAdvance são string, não tipos numéricos — passe valores de ponto como strings ao definir DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition ou VerticalPosition.
  • Defina FieldSymbol.FontName para uma fonte que realmente contenha o glifo em CharacterCode, ou o caractere renderizado pode recair para um placeholder de glifo ausente.
  • Chame Update() após alterar qualquer propriedade em FieldAdvance ou FieldSymbol para que o Result / DisplayResult do campo reflita a alteração.
  • Use DontAffectsLineSpacing ao inserir um caractere de símbolo alto ou incomum que não deve esticar a altura da linha ao redor.

Problemas comuns

ProblemaCausaCorreção
O campo ADVANCE não move o texto como esperadoA propriedade de offset errada foi definida, ou um valor foi deixado no padrãoDefina a propriedade específica DownOffset / UpOffset / LeftOffset / RightOffset (relativa) ou HorizontalPosition / VerticalPosition (absoluta) que corresponda ao movimento pretendido
O campo SYMBOL exibe o caractere erradoCharacterCode foi interpretado com a codificação erradaDefina exatamente um de IsAnsi, IsUnicode ou IsShiftJis para corresponder ao modo como CharacterCode foi criado
Caractere de símbolo é renderizado como uma caixa de glifo ausenteFontName não contém um glifo para CharacterCodeDefina FontName para uma fonte conhecida por incluir esse caractere

FAQ

O que o campo ADVANCE faz?

Ele reposiciona o texto que o segue, seja por um deslocamento relativo (DownOffset, UpOffset, LeftOffset, RightOffset) ou uma posição absoluta (HorizontalPosition, VerticalPosition), sem inserir caracteres visíveis.

Como insiro um caractere Unicode específico com FieldSymbol?

Defina CharacterCode como o ponto de código do caractere, defina IsUnicode = true, e opcionalmente defina FontName / FontSize para a renderização do glifo.

Os valores de deslocamento de FieldAdvance são números ou strings?

Eles são propriedades de string (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), correspondendo ao formato bruto de argumento de field-code.

Inserir um caractere SÍMBOLO afeta o espaçamento entre linhas?

Defina DontAffectsLineSpacing como true para impedir que o caractere inserido afete a altura da linha do parágrafo.


API Reference Resumo

Classe/MétodoDescrição
FieldAdvanceImplementa o campo ADVANCE; reposiciona o texto subsequente sem inserir caracteres
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffsetDeslocamentos de ponto relativos aplicados ao texto seguinte
FieldAdvance.HorizontalPosition / VerticalPositionPosição absoluta do ponto aplicada ao texto a seguir
FieldSymbolImplementa o campo SYMBOL; insere um caractere por ponto de código
FieldSymbol.CharacterCodeO ponto de código do caractere, em decimal ou hexadecimal
FieldSymbol.IsAnsi / IsUnicode / IsShiftJisSeleciona como CharacterCode é interpretado
FieldSymbol.FontName / FontSizeFonte usada para renderizar o caractere recuperado
FieldSymbol.DontAffectsLineSpacingControla se o caractere inserido afeta o espaçamento entre linhas do parágrafo

Ver também

 Português