Campi Equazioni e Formule
Campi Equazioni e Formule
Questa guida mostra come lavorare con il FieldAdvance and FieldSymbol classi di campo in Aspose.Words FOSS per .NET, che implementano i campi di Word, ADVANCE and SYMBOL campi. Entrambe le classi derivano da Field e implementano IFieldCodeTokenInfoProvider; per la base Field modello di oggetto stesso, vedi il Lavorare con i campi guida.
Riposizionamento del testo con FieldAdvance
FieldAdvance implementa il campo ADVANCE, che sposta il testo che lo segue senza inserire caratteri visibili. DownOffset, UpOffset, LeftOffset e RightOffset (tutti string) spostano il testo successivo di un certo numero di punti in quella direzione. HorizontalPosition e VerticalPosition (anche string) posizionano il testo successivo in una posizione assoluta misurata dal bordo sinistro della colonna, del riquadro o della casella di testo, e dal bordo superiore della pagina, rispettivamente.
Inserimento di caratteri speciali con FieldSymbol
FieldSymbol implementa il campo SYMBOL, che inserisce un singolo carattere tramite punto di codice. CharacterCode (stringa) fornisce il punto di codice del carattere in decimale o esadecimale. IsAnsi, IsUnicode e IsShiftJis (tutti bool) selezionano come CharacterCode è interpretato. FontName e FontSize (stringa) impostano il font usato per visualizzare il carattere recuperato, e DontAffectsLineSpacing (bool) controlla se il carattere inserito influisce sull’interlinea del paragrafo.
Suggerimenti e buone pratiche
- Imposta solo uno tra
IsAnsi,IsUnicodeoIsShiftJissu unFieldSymbolper evitare un’interpretazione ambigua diCharacterCode. - Le proprietà di offset di
FieldAdvancesonostring, non tipi numerici — passa i valori dei punti come stringhe quando impostiDownOffset,UpOffset,LeftOffset,RightOffset,HorizontalPositionoVerticalPosition. - Imposta
FieldSymbol.FontNamesu un font che contenga effettivamente il glifo aCharacterCode, altrimenti il carattere renderizzato potrebbe ricadere su un segnaposto di glifo mancante. - Chiama
Update()dopo aver modificato qualsiasi proprietà suFieldAdvanceoFieldSymbolaffinché ilResult/DisplayResultdel campo rifletta la modifica. - Usa
DontAffectsLineSpacingquando inserisci un carattere simbolo alto o insolito che non dovrebbe allungare l’altezza della riga circostante.
Problemi comuni
| Problema | Causa | Correzione |
|---|---|---|
Il campo ADVANCE non sposta il testo come previsto | È stata impostata la proprietà offset errata, oppure un valore è rimasto al valore predefinito | Imposta la proprietà specifica DownOffset / UpOffset / LeftOffset / RightOffset (relativa) o HorizontalPosition / VerticalPosition (assoluta) che corrisponde allo spostamento previsto |
Il campo SYMBOL visualizza il carattere sbagliato | CharacterCode è stato interpretato con la codifica errata | Imposta esattamente uno di IsAnsi, IsUnicode o IsShiftJis in modo che corrisponda a come è stato scritto CharacterCode |
| Il carattere simbolo viene visualizzato come una casella di glifo mancante | FontName non contiene un glifo per CharacterCode | Imposta FontName su un font noto per includere quel carattere |
FAQ
Cosa fa il campo ADVANCE?
Riposiziona il testo che lo segue, sia mediante uno spostamento relativo (DownOffset, UpOffset, LeftOffset, RightOffset) sia mediante una posizione assoluta (HorizontalPosition, VerticalPosition), senza inserire caratteri visibili.
Come inserisco un carattere Unicode specifico con FieldSymbol?
Imposta CharacterCode sul punto di codice del carattere, imposta IsUnicode = true, e opzionalmente imposta FontName / FontSize per il rendering del glifo.
I valori di offset di FieldAdvance sono numeri o stringhe?
Sono proprietà di string (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), corrispondenti al formato dell’argomento del campo grezzo.
L’inserimento di un carattere SIMBOLO influisce sull’interlinea?
Imposta DontAffectsLineSpacing su true per impedire che il carattere inserito influisca sull’altezza della linea del paragrafo.
API Reference Riepilogo
| Classe/Metodo | Descrizione |
|---|---|
FieldAdvance | Implementa il campo ADVANCE; riposiziona il testo successivo senza inserire caratteri |
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffset | Offset di punti relativi applicati al testo seguente |
FieldAdvance.HorizontalPosition / VerticalPosition | Posizione assoluta del punto applicata al testo seguente |
FieldSymbol | Implementa il campo SYMBOL; inserisce un carattere tramite code point |
FieldSymbol.CharacterCode | Il punto di codice del carattere, in decimale o esadecimale |
FieldSymbol.IsAnsi / IsUnicode / IsShiftJis | Seleziona il modo in cui CharacterCode viene interpretato |
FieldSymbol.FontName / FontSize | Font utilizzato per visualizzare il carattere recuperato |
FieldSymbol.DontAffectsLineSpacing | Controlla se il carattere inserito influisce sull’interlinea del paragrafo |