Bekerja dengan Gaya

Bekerja dengan Gaya

Bekerja dengan Gaya

Panduan ini menunjukkan cara bekerja dengan gaya paragraf, karakter, tabel, dan daftar dalam Aspose.Words FOSS untuk .NET — mencari dan menerapkan gaya bawaan serta kustom, serta mengonfigurasi pemformatan bersyarat per wilayah pada gaya tabel.

Objek Style mewakili satu gaya bawaan atau yang didefinisikan pengguna — kumpulan bernama dari pemformatan paragraf, font, dan daftar yang diterapkan Word ketika sebuah paragraf atau run diberikan gaya tersebut. Setiap dokumen menampilkan gayanya melalui properti Document.Styles, yang mengembalikan StyleCollection. Gaya tabel direpresentasikan oleh TableStyle, subclass dari Style yang menambahkan pemformatan khusus tabel dan pemformatan kondisional per wilayah melalui ConditionalStyleCollection.


Jenis Gaya dan Identifikasi

Setiap Style memiliki properti Type bertipe StyleType, yang merupakan salah satu dari Paragraph, Character, Table, atau List — mencocokkan empat jenis gaya yang didukung Word. Gaya bawaan juga membawa nilai enum StyleIdentifier yang tidak bergantung pada locale (misalnya nilai yang sesuai dengan gaya judul, penekanan, dan hyperlink) sehingga kode dapat mencari gaya bawaan tanpa bergantung pada nama tampilan dalam bahasa tertentu. Nama yang dapat dibaca manusia untuk sebuah gaya tersedia melalui Style.Name, dan Style.Aliases mengembalikan nama alternatif apa pun yang dikenali Word untuk gaya yang sama. Style.BuiltIn melaporkan apakah gaya tersebut disertakan bersama Word sendiri versus didefinisikan dalam dokumen, dan Style.IsHeading melaporkan apakah gaya tersebut merupakan salah satu gaya judul bawaan.

Mengakses dan Mengelola Koleksi Gaya

StyleCollection adalah koleksi semua objek Style — bawaan dan kustom — yang terlampir pada sebuah dokumen, yang dapat diakses melalui Document.Styles. Ambil sebuah gaya berdasarkan nama tampilan menggunakan pengindeks StyleCollection — styles[name] — atau ambil gaya bawaan berdasarkan StyleIdentifier yang tidak bergantung pada locale menggunakan pengindeks yang sama — styles[sti] — yang lebih dapat diandalkan daripada pencarian nama di seluruh dokumen yang dibuat dalam bahasa yang berbeda. Gaya baru dibuat dengan StyleCollection.Add(type, name), menentukan StyleType dan sebuah nama, dan gaya yang ada dapat diduplikasi ke dalam koleksi dengan StyleCollection.AddCopy(style). StyleCollection.Count melaporkan berapa banyak gaya yang dimiliki dokumen, dan koleksi juga mengekspos DefaultFont dan DefaultParagraphFormat, yang menggambarkan pemformatan default seluruh dokumen yang diwarisi konten baru sebelum gaya eksplisit apa pun diterapkan. StyleCollection.ClearQuickStyleGallery() menghapus semua gaya dari galeri quick-style UI Word tanpa menghapus gaya itu sendiri.

Menerapkan Gaya pada Paragraf dan Run

Objek pemformatan yang dapat membawa gaya mengekspos baik properti Style (objek Style itu sendiri) maupun properti StyleName (jalan pintas yang menyelesaikan atau membuat gaya berdasarkan nama). ParagraphFormat.Style dan ParagraphFormat.StyleName menerapkan gaya paragraf, sementara Font.Style dan Font.StyleName menerapkan gaya karakter pada pemformatan run. Properti LinkedStyleName, BaseStyleName, dan NextParagraphStyleName milik sebuah gaya menjelaskan bagaimana gaya tersebut berhubungan dengan gaya lain: BaseStyleName memberi nama gaya yang mewarisi format yang belum ditetapkan, LinkedStyleName memberi nama gaya paragraf/karakter berpasangan (seperti yang dilakukan Word untuk gaya bawaan seperti Heading 1 dan gaya karakter yang ditautkan), dan NextParagraphStyleName memberi nama gaya yang ditetapkan Word ke paragraf baru yang diketik setelah satu yang menggunakan gaya ini.

Gaya Tabel dan Pemformatan Bersyarat

TableStyle memperluas Style dengan properti tata letak tabel seperti Alignment, CellSpacing, LeftIndent, Shading, VerticalAlignment, dan padding (LeftPadding, RightPadding, TopPadding, BottomPadding), plus RowStripe dan ColumnStripe, yang mengontrol berapa baris atau kolom pola banding diulang. Di luar pemformatan tabel yang seragam, TableStyle.ConditionalStyles mengembalikan ConditionalStyleCollection yang memuat satu ConditionalStyle per wilayah tabel — FirstRow, LastRow, FirstColumn, LastColumn, OddRowBanding, EvenRowBanding, OddColumnBanding, EvenColumnBanding, dan empat sel sudut (TopLeftCell, TopRightCell, BottomLeftCell, BottomRightCell). Setiap ConditionalStyle memiliki Font, ParagraphFormat, Shading, Borders, dan padding sel masing-masing, dan properti Type-nya melaporkan wilayah ConditionalStyleType mana yang diwakilinya. ConditionalStyle.ClearFormatting() dan ConditionalStyleCollection.ClearFormatting() mengatur ulang pemformatan untuk satu wilayah atau seluruh set wilayah bersyarat.

Metadata Gaya dan Bendera Perilaku

Beberapa properti boolean dan numerik pada Style mengontrol bagaimana Word memperlakukan sebuah gaya dalam UI-nya, bukan bagaimana gaya tersebut dirender: Locked mencegah gaya diubah saat perlindungan pemformatan aktif, IsQuickStyle mengontrol apakah gaya muncul di galeri gaya cepat, AutomaticallyUpdate membuat gaya mendefinisikan ulang dirinya dari pemformatan langsung yang diterapkan secara manual, SemiHidden dan UnhideWhenUsed mengontrol visibilitas dalam daftar gaya sebelum dan sesudah penggunaan pertama, dan Priority memengaruhi urutan penyortiran di galeri. Sebuah gaya juga mengekspos properti List dan ListFormat ketika ia mendefinisikan penomoran daftar, dan Style.Remove() menghapus gaya dari StyleCollection-nya.


Tips dan Praktik Terbaik

  • Lebih baik gunakan pengindeks StyleCollection dengan nilai StyleIdentifier daripada mencari berdasarkan nama saat menemukan gaya bawaan — nama diterjemahkan, tetapi nilai StyleIdentifier tidak.
  • Atur BaseStyleName untuk membangun hierarki gaya (misalnya, sekumpulan gaya judul yang semuanya mewarisi pilihan font dari satu gaya dasar) alih-alih mengulang format pada setiap gaya.
  • Saat menyalin gaya antar dokumen, gunakan StyleCollection.AddCopy(style) daripada membaca dan menerapkan kembali setiap properti format secara manual.
  • Konfigurasikan wilayah TableStyle.ConditionalStyles untuk tabel berbanding alih-alih memformat baris bergantian secara manual dalam kode — format setiap wilayah ConditionalStyle diterapkan berdasarkan ConditionalStyleType-nya, bukan dengan mengatur format langsung pada baris individu.
  • Periksa Style.BuiltIn sebelum menghapus atau mengganti nama gaya secara programatis; gaya bawaan biasanya direferensikan oleh nama di tempat lain dalam dokumen.

Masalah Umum

MasalahPenyebabPerbaikan
StyleCollection pengindeks mengembalikan null untuk pencarian namaNama gaya tidak ada dalam dokumen ini, atau gaya bawaan belum pernah digunakan sehingga Word belum mewujudkannyaPeriksa Style.Aliases untuk nama alternatif, atau gunakan pengindeks StyleCollection dengan StyleIdentifier untuk gaya bawaan sebagai gantinya
Menetapkan StyleName secara tak terduga membuat gaya baruStyleName membuat gaya yang dinamai jika belum ada dalam koleksiGunakan pengindeks StyleCollection terlebih dahulu untuk memastikan gaya ada, atau tetapkan objek Style secara langsung melalui properti Style
Banding tabel tidak muncul setelah menerapkan TableStyleWilayah pemformatan bersyarat (OddRowBanding, EvenRowBanding, dan seterusnya) tidak pernah dikonfigurasi pada TableStyle.ConditionalStylesAtur pemformatan pada entri ConditionalStyle yang relevan di ConditionalStyleCollection
Perubahan gaya tidak memengaruhi konten yang sudah menggunakan gaya tersebutPemformatan langsung (manual) diterapkan di atas gaya dan memiliki prioritas lebih tinggiHapus pemformatan langsung pada run/paragraf yang terpengaruh, atau atur Style.AutomaticallyUpdate

FAQ

Bagaimana cara saya mendapatkan koleksi semua gaya dalam sebuah dokumen?

Baca Document.Styles, yang mengembalikan StyleCollection yang berisi setiap Style bawaan dan yang didefinisikan pengguna dalam dokumen tersebut.

Apa perbedaan antara Style dan StyleIdentifier?

Style adalah objek gaya sebenarnya dengan pemformatannya; StyleIdentifier adalah nilai enum yang tidak bergantung pada locale dan digunakan untuk mencari nilai tertentu bawaan gaya terlepas dari bahasa dokumen, melalui StyleCollection pengindeks.

Bagaimana gaya tabel berbeda dari gaya paragraf atau karakter?

TableStyle adalah subkelas dari Style yang menambahkan properti tata letak tabel (Alignment, CellSpacing, padding) dan koleksi ConditionalStyles untuk pemformatan spesifik wilayah seperti baris bergaris, baris header, dan sel sudut — konsep pemformatan yang tidak berlaku untuk gaya paragraf atau karakter.

Bisakah saya membuat gaya baru sepenuhnya alih-alih memodifikasi yang sudah ada?

Ya — panggil StyleCollection.Add(type, name) dengan StyleType yang diinginkan dan nama baru untuk membuat gaya kosong, kemudian atur properti pemformatannya (Font, ParagraphFormat, dan seterusnya untuk gaya paragraf/karakter).

Bagaimana cara menduplikasi sebuah gaya, termasuk dari dokumen lain?

Gunakan StyleCollection.AddCopy(style), dengan mengoper objek Style (yang dapat berasal dari StyleCollection milik Document yang berbeda) untuk menambahkan salinannya ke koleksi target.


API Reference Ringkasan

Kelas/MetodeDeskripsi
StyleSatu gaya paragraf, karakter, tabel, atau daftar yang bawaan atau didefinisikan pengguna
StyleCollectionKoleksi semua gaya dalam sebuah dokumen, yang dapat diakses melalui Document.Styles
StyleCollection pengindeks berdasarkan namaCari gaya berdasarkan nama tampilan, misalnya styles["Heading 1"]
StyleCollection pengindeks berdasarkan identifierCari gaya bawaan berdasarkan identifier yang tidak bergantung pada locale, misalnya styles[StyleIdentifier.Heading1]
StyleCollection.Add(type, name)Buat gaya baru yang kosong dengan StyleType yang diberikan
StyleCollection.AddCopy(style)Salin gaya yang ada ke dalam koleksi ini
StyleTypeEnum yang membedakan gaya Paragraph, Character, Table, dan List
StyleIdentifierPengidentifikasi yang tidak bergantung pada locale untuk gaya bawaan
TableStyleSebuah subclass Style untuk pemformatan tabel, termasuk penataan kondisional per wilayah
ConditionalStyleCollectionKumpulan entri ConditionalStyle per wilayah pada TableStyle
ConditionalStylePemformatan (font, format paragraf, shading, border, padding) untuk satu wilayah tabel
ConditionalStyleTypeEnum yang mengidentifikasi wilayah tabel yang diterapkan pada ConditionalStyle

Lihat Juga

 Bahasa Indonesia