Bidang Persamaan dan Rumus
Bidang Persamaan dan Rumus
Panduan ini menunjukkan cara bekerja dengan FieldAdvance and FieldSymbol kelas bidang di Aspose.Words FOSS untuk .NET, yang mengimplementasikan Word’s ADVANCE and SYMBOL bidang. Kedua kelas diturunkan dari Field dan mengimplementasikan IFieldCodeTokenInfoProvider; untuk dasar Field model objek itu sendiri, lihat Bekerja dengan Bidang panduan.
Memposisi Ulang Teks dengan FieldAdvance
FieldAdvance mengimplementasikan bidang ADVANCE, yang menggeser teks yang mengikutinya tanpa menyisipkan karakter yang terlihat. DownOffset, UpOffset, LeftOffset, dan RightOffset (semua string) memindahkan teks berikutnya sejumlah poin ke arah tersebut. HorizontalPosition dan VerticalPosition (juga string) memindahkan teks berikutnya ke posisi absolut yang diukur dari tepi kiri kolom, bingkai, atau kotak teks, dan tepi atas halaman, masing-masing.
Menyisipkan Karakter Khusus dengan FieldSymbol
FieldSymbol mengimplementasikan bidang SYMBOL, yang menyisipkan satu karakter berdasarkan titik kode. CharacterCode (string) menyediakan titik kode karakter dalam desimal atau heksadesimal. IsAnsi, IsUnicode, dan IsShiftJis (semua bool) memilih bagaimana CharacterCode diinterpretasikan. FontName dan FontSize (string) menentukan font yang digunakan untuk merender karakter yang diambil, dan DontAffectsLineSpacing (bool) mengontrol apakah karakter yang disisipkan memengaruhi spasi baris paragraf.
Tips dan Praktik Terbaik
- Set hanya satu dari
IsAnsi,IsUnicode, atauIsShiftJispadaFieldSymboluntuk menghindari interpretasi yang ambigu dariCharacterCode. - Properti offset
FieldAdvancebersifatstring, bukan tipe numerik — kirim nilai titik sebagai string saat menyetelDownOffset,UpOffset,LeftOffset,RightOffset,HorizontalPosition, atauVerticalPosition. - Set
FieldSymbol.FontNameke font yang memang berisi glyph padaCharacterCode, atau karakter yang dirender dapat kembali ke placeholder glyph yang hilang. - Panggil
Update()setelah mengubah properti apa pun padaFieldAdvanceatauFieldSymbolsehinggaResult/DisplayResultbidang mencerminkan perubahan. - Gunakan
DontAffectsLineSpacingsaat menyisipkan karakter simbol tinggi atau tidak biasa yang tidak seharusnya memperpanjang tinggi baris di sekitarnya.
Masalah Umum
| Masalah | Penyebab | Perbaikan |
|---|---|---|
ADVANCE field tidak memindahkan teks seperti yang diharapkan | Properti offset yang salah telah diatur, atau nilai dibiarkan pada nilai defaultnya | Atur properti DownOffset / UpOffset / LeftOffset / RightOffset (relatif) atau HorizontalPosition / VerticalPosition (absolut) yang sesuai dengan pergerakan yang dimaksud |
SYMBOL field menampilkan karakter yang salah | CharacterCode diinterpretasikan dengan encoding yang salah | Atur tepat satu dari IsAnsi, IsUnicode, atau IsShiftJis agar sesuai dengan cara CharacterCode ditulis |
| Karakter simbol ditampilkan sebagai kotak glyph yang hilang | FontName tidak mengandung glyph untuk CharacterCode | Setel FontName ke font yang diketahui mencakup karakter tersebut. |
FAQ
Apa fungsi bidang ADVANCE?
Ini memposisikan ulang teks yang mengikutinya, baik dengan offset relatif (DownOffset, UpOffset, LeftOffset, RightOffset) atau posisi absolut (HorizontalPosition, VerticalPosition), tanpa menyisipkan karakter yang terlihat.
Bagaimana cara saya menyisipkan karakter Unicode tertentu dengan FieldSymbol?
Atur CharacterCode ke titik kode karakter, atur IsUnicode = true, dan secara opsional atur FontName / FontSize untuk rendering glyph.
Apakah nilai offset FieldAdvance berupa angka atau string?
Mereka adalah properti string (DownOffset, UpOffset, LeftOffset, RightOffset, HorizontalPosition, VerticalPosition), yang cocok dengan format argumen kode-field mentah.
Apakah menyisipkan karakter SYMBOL memengaruhi spasi baris?
Atur DontAffectsLineSpacing ke true untuk mencegah karakter yang disisipkan memengaruhi tinggi baris paragraf.
API Reference Ringkasan
| Kelas/Metode | Deskripsi |
|---|---|
FieldAdvance | Mengimplementasikan bidang ADVANCE; memposisikan ulang teks berikut tanpa menyisipkan karakter |
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffset | Offset titik relatif yang diterapkan pada teks berikut |
FieldAdvance.HorizontalPosition / VerticalPosition | Posisi titik absolut yang diterapkan pada teks berikut |
FieldSymbol | Mengimplementasikan bidang SYMBOL; menyisipkan karakter dengan titik kode |
FieldSymbol.CharacterCode | Poin kode karakter, dalam desimal atau heksadesimal |
FieldSymbol.IsAnsi / IsUnicode / IsShiftJis | Memilih bagaimana CharacterCode ditafsirkan |
FieldSymbol.FontName / FontSize | Font yang digunakan untuk merender karakter yang diambil |
FieldSymbol.DontAffectsLineSpacing | Mengontrol apakah karakter yang dimasukkan memengaruhi jarak baris paragraf |