Batas dan Bayangan
Batas dan Bayangan
Pemformatan batas dan bayangan dalam Aspose.Words FOSS untuk .NET dimodelkan oleh dua kelas atribut yang terkait: Border, yang menggambarkan satu garis batas, dan Shading, yang menggambarkan pola isi latar belakang. Paragraf, tabel, sel, dan font masing-masing mengekspos BorderCollection (beberapa sisi Border) dan satu objek Shading melalui properti pemformatan masing-masing.
Bekerja dengan Batas Individual
Objek Border mewakili satu garis batas dan mengekspos LineStyle (nilai enum dari LineStyle, seperti Single, Double, Dot, atau Wave), LineWidth, Color, DistanceFromText, Shadow, serta properti ThemeColor/TintAndShade yang sadar tema. Panggil ClearFormatting() pada Border untuk mengatur ulang ke keadaan default (tanpa batas).
BorderCollection mengelompokkan beberapa objek Border untuk sisi-sisi suatu objek. Ia mengekspos properti bernama untuk empat tepi — Left, Right, Top, Bottom — serta Horizontal dan Vertical untuk batas dalam tabel. Pengindeks BorderCollection mengambil sisi tertentu menggunakan nilai enum BorderType (Left, Right, Top, Bottom, Horizontal, Vertical, DiagonalDown, DiagonalUp, atau None) sebagai kunci. Menetapkan LineWidth, LineStyle, atau Color secara langsung pada koleksi menerapkan nilai tersebut ke setiap batas yang ada sekaligus; ClearFormatting() menghapus semua batas dalam koleksi sekaligus.
Menerapkan Bayangan
Shading membawa pola latar belakang untuk suatu objek: BackgroundPatternColor dan ForegroundPatternColor menentukan dua warna pola, dan Texture (nilai enum TextureIndex) memilih pola — isi padat menggunakan TextureIndex.TextureSolid, sementara pola persentase dan arah (Texture10Percent hingga Texture97Pt5Percent, TextureHorizontal, TextureDiagonalCross, dan lainnya) meniru galeri shading Word. ForegroundPatternThemeColor dan BackgroundPatternThemeColor menyediakan ekuivalen warna tema, bersama dengan penyesuaian tint/shade melalui ForegroundTintAndShade dan BackgroundTintAndShade. ClearFormatting() mengatur ulang objek Shading menjadi tanpa isi.
Tips dan Praktik Terbaik
- Setel
TexturekeTextureIndex.TextureSoliddan gunakanBackgroundPatternColoruntuk pengisian latar belakang polos — kasus shading yang paling umum. - Gunakan pengindeks
BorderCollection(borders[BorderType.Horizontal]/borders[BorderType.Vertical]) untuk mencapai garis kisi interior tabel, yang tidak ditampilkan sebagai properti bernama. - Mengatur properti langsung pada
BorderCollection(bukan padaLeft/Right/Top/BottomBorderindividu) adalah cara tercepat untuk menerapkan batas seragam ke semua sisi. - Ingat
LineStyle.Nonemenghapus garis yang terlihat tanpa menghapus lebar atau warna batas yang telah dikonfigurasi — gunakanClearFormatting()untuk reset penuh. - Batas sel tabel dan paragraf adalah instance
BorderCollectionyang independen; mengatur satu tidak memengaruhi yang lain.
Masalah Umum
| Masalah | Penyebab | Perbaikan |
|---|---|---|
Batas tidak terlihat setelah mengatur Color | LineStyle tetap pada LineStyle.None | Atur LineStyle ke gaya yang terlihat seperti Single sebelum menyimpan |
| Pengarsiran muncul sebagai isian padat ketika pola diharapkan | Texture tetap pada nilai default | Setel secara eksplisit Texture ke konstanta pola yang diinginkan |
| Bingkai tabel interior tidak terpengaruh oleh perubahan bingkai tepi | Horizontal/Vertical terpisah dari Left/Right/Top/Bottom | Set BorderCollection.Horizontal dan .Vertical secara eksplisit |
Pengindeks BorderCollection mengembalikan border yang tidak terduga | Nilai BorderType yang salah diberikan | Pastikan nilai enum BorderType cocok dengan sisi yang dimaksud |
FAQ
Bagaimana cara saya menerapkan border yang sama ke keempat sisi sel tabel?
Setel LineStyle, LineWidth, dan Color langsung pada BorderCollection sel, bukan pada masing-masing Left, Right, Top, dan Bottom — pengaturan tingkat koleksi berlaku untuk setiap border yang dimilikinya.
Apa perbedaan antara Border dan Shading?
Border menggambarkan sebuah garis (gaya, lebar, warna) yang digambar sepanjang tepi; Shading menggambarkan pola isian latar belakang di belakang konten. Kedua-nya independen — sebuah objek dapat memiliki shading tanpa border, atau border tanpa shading.
Enum mana yang mengontrol pola garis visual pada sebuah border?
LineStyle, dengan nilai seperti Single, Double, Dot, DashSmallGap, dan Wave.
Apakah saya dapat menghapus border sepenuhnya?
Ya — panggil ClearFormatting() pada Border atau BorderCollection, atau setel LineStyle ke LineStyle.None.
API Reference Ringkasan
| Kelas / Metode | Deskripsi |
|---|---|
Border | Sebuah garis batas tunggal: gaya, lebar, warna, bayangan |
BorderCollection | Sekumpulan batas (Left, Right, Top, Bottom, Horizontal, Vertical) untuk sebuah objek |
BorderType | Enum yang mengidentifikasi sisi batas |
LineStyle | Enum gaya garis visual (Single, Double, Dot, dll.) |
Shading | Pengisian pola latar belakang: warna dan Texture |
TextureIndex | Enum tekstur pola bayangan |