Cara Bekerja dengan Styles di .NET
Panduan ini menunjukkan cara mencari, menerapkan, dan membuat gaya paragraf, karakter, tabel, dan daftar dalam Aspose.Words FOSS untuk .NET, menggunakan Style, StyleCollection, dan TableStyle kelas. Ini mencakup membaca koleksi gaya dokumen, mencari gaya secara andal lintas bahasa, menerapkan gaya pada paragraf dan run, membuat dan menyalin gaya, serta mengonfigurasi pemformatan bersyarat per wilayah pada gaya tabel.
Panduan Langkah-demi-Langkah
Langkah 1: Instal Paket
Aspose.Words FOSS untuk .NET belum menerbitkan paket NuGet – bangun pustaka dari sumbernya saja. Kloning https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, lalu bangun Aspose.Words.sln dalam konfigurasi Release dengan SDK .NET dan referensikan assembly Aspose.Words yang dihasilkan dari proyek Anda. Pustaka menargetkan .NET Standard 2.0, sehingga dapat dijalankan pada .NET Framework 4.6.2+ dan .NET 6/8/10.
Langkah 2: Impor Kelas yang Diperlukan
Tambahkan arahan using Aspose.Words; – Style, StyleCollection, TableStyle, StyleType, StyleIdentifier, ConditionalStyle, ConditionalStyleCollection, dan ConditionalStyleType semuanya berada di namespace Aspose.Words bersama dengan Document.
Langkah 3: Baca Koleksi Gaya Dokumen
Document.Styles mengembalikan StyleCollection – setiap Style bawaan dan yang didefinisikan pengguna yang terlampir pada dokumen. StyleCollection.Count melaporkan berapa banyak gaya yang dimilikinya, dan DefaultFont / DefaultParagraphFormat menjelaskan format default seluruh dokumen yang diwarisi konten baru sebelum gaya eksplisit diterapkan.
Langkah 4: Cari Gaya dengan Andal
Ambil sebuah gaya berdasarkan nama tampilannya menggunakan indeks StyleCollection, styles[name]. Untuk gaya bawaan, lebih baik gunakan indeks yang sama dengan nilai enum StyleIdentifier – styles[sti] – nama-nama dipelokalkan, tetapi nilai StyleIdentifier tidak, sehingga pencarian berdasarkan pengenal bekerja sama terlepas dari bahasa dokumen. Periksa Style.Aliases untuk nama alternatif yang dikenali Word untuk gaya yang sama jika indeks tidak menemukan apa yang Anda harapkan, dan periksa Style.BuiltIn sebelum menghapus atau mengganti nama gaya secara programatik, karena gaya bawaan sering dirujuk dengan nama di tempat lain dalam dokumen.
Langkah 5: Terapkan Gaya ke Paragraf atau Run
Objek pemformatan yang membawa sebuah gaya mengekspos baik properti Style (objek Style itu sendiri) maupun properti StyleName (jalan pintas yang menyelesaikan, atau membuat, sebuah gaya berdasarkan nama). Atur ParagraphFormat.Style atau ParagraphFormat.StyleName untuk menerapkan gaya paragraf, dan Font.Style atau Font.StyleName untuk menerapkan gaya karakter pada pemformatan run. Menetapkan StyleName dengan nama yang belum ada dalam koleksi akan membuat gaya tersebut – pastikan gaya ada dengan indeks StyleCollection terlebih dahulu, atau tetapkan objek Style secara langsung, jika itu bukan perilaku yang dimaksud.
Langkah 6: Bangun Hirarki Gaya
Baca BaseStyleName untuk menemukan gaya yang memberikan format tak teratur kepada sebuah gaya tertentu, LinkedStyleName untuk gaya paragraf/karakter berpasangan (seperti yang didefinisikan Word untuk gaya bawaan seperti heading dan gaya karakter terkaitnya), dan NextParagraphStyleName untuk gaya yang ditetapkan Word ke paragraf baru yang diketik setelah satu yang menggunakan gaya ini. Atur BaseStyleName saat mendefinisikan sekumpulan gaya terkait — seperti keluarga gaya heading yang semuanya harus mewarisi pilihan font dari satu gaya dasar — alih-alih mengulangi format yang sama pada setiap gaya.
Langkah 7: Buat atau Salin Gaya
Panggil StyleCollection.Add(type, name) dengan StyleType (Paragraph, Character, Table, atau List) dan sebuah nama untuk membuat gaya baru yang kosong, kemudian atur properti Font dan ParagraphFormat sesuai kebutuhan. Untuk menyalin gaya yang sudah ada – termasuk yang dari Document’s StyleCollection yang berbeda – panggil StyleCollection.AddCopy(style) alih-alih membaca dan menerapkan kembali setiap properti pemformatan secara manual. Panggil Style.Remove() untuk menghapus gaya dari koleksinya.
Langkah 8: Konfigurasikan Gaya Tabel dan Pemformatan Bersyarat
TableStyle memperluas Style dengan properti tata letak tabel – Alignment, CellSpacing, LeftIndent, Shading, VerticalAlignment, dan empat properti padding (LeftPadding, RightPadding, TopPadding, BottomPadding) – serta RowStripe dan ColumnStripe, yang mengontrol berapa baris atau kolom pola banding diulang. Untuk pemformatan per wilayah, konfigurasikan TableStyle.ConditionalStyles – sebuah ConditionalStyleCollection yang menyimpan satu ConditionalStyle per wilayah: 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, dengan Type melaporkan wilayah ConditionalStyleType yang diwakilinya; atur pemformatan pada wilayah-wilayah ini alih-alih pada baris tabel individu untuk memperoleh pemformatan ber-band, baris-header, atau sel-sudut yang tetap setelah penyuntingan tabel.
Langkah 9: Atur Ulang atau Hapus Pemformatan
Panggil ConditionalStyle.ClearFormatting() untuk mengatur ulang satu wilayah bersyarat, atau ConditionalStyleCollection.ClearFormatting() untuk mengatur ulang semua wilayah pada TableStyle sekaligus. StyleCollection.ClearQuickStyleGallery() menghapus semua gaya dari galeri quick-style UI Word tanpa menghapus gaya itu sendiri – berguna untuk memangkas galeri tanpa menyentuh konten dokumen.
Masalah Umum dan Solusinya
StyleCollection indexer mengembalikan null untuk pencarian nama Nama gaya tidak ada dalam dokumen ini, atau gaya bawaan belum pernah digunakan, sehingga Word belum mewujudkannya. Periksa Style.Aliases untuk nama alternatif, atau gunakan the StyleCollection indeks dengan a StyleIdentifier untuk gaya bawaan sebagai gantinya.
Menetapkan StyleName secara tak terduga membuat gaya baru StyleName membuat gaya yang dinamai jika belum ada dalam koleksi. Gunakan StyleCollection indeks terlebih dahulu untuk memastikan gaya ada, atau tetapkan Style objek secara langsung melalui Style properti alih-alih StyleName.
Banding tabel tidak muncul setelah menerapkan TableStyle Wilayah pemformatan bersyarat – OddRowBanding, EvenRowBanding, dan serupa – tidak pernah dikonfigurasi pada TableStyle.ConditionalStyles. Atur pemformatan pada yang relevan ConditionalStyle entri dalam ConditionalStyleCollection.
Perubahan gaya tidak memengaruhi konten yang sudah menggunakan gaya tersebut Pemformatan langsung (manual) yang diterapkan di atas gaya memiliki prioritas lebih tinggi dibandingkan pengaturan gaya itu sendiri. Hapus pemformatan langsung pada rentang atau paragraf yang terpengaruh, atau atur Style.AutomaticallyUpdate sehingga gaya mendefinisikan ulang dirinya dari pemformatan manual tersebut.
Pencarian gaya bawaan gagal dalam dokumen yang ditulis dalam bahasa lain The StyleCollection pengindeks mencocokkan berdasarkan nama tampilan, yang dilokalkan, ketika dipanggil dengan sebuah nama. Gunakan pengindeks yang sama dengan nilai yang sesuai StyleIdentifier enum value sebagai gantinya, karena pengenal tersebut tidak bergantung pada locale.
Pertanyaan yang Sering Diajukan
Bagaimana cara saya mendapatkan koleksi semua gaya dalam sebuah dokumen?
Baca Document.Styles, yang mengembalikan StyleCollection yang berisi setiap Style bawaan dan buatan pengguna dalam dokumen tersebut.
Apa perbedaan antara Style dan StyleIdentifier?
Style adalah objek gaya yang sebenarnya dengan formatnya; StyleIdentifier adalah nilai enum yang independen dari locale yang digunakan untuk mencari gaya bawaan tertentu tanpa mempedulikan bahasa dokumen, melalui indexer StyleCollection.
Bagaimana gaya tabel berbeda dari gaya paragraf atau karakter?
TableStyle adalah subclass dari Style yang menambahkan properti tata letak tabel (Alignment, CellSpacing, padding) dan koleksi ConditionalStyles untuk pemformatan khusus wilayah seperti baris berbanding, baris header, dan sel sudut — konsep pemformatan yang tidak berlaku pada gaya paragraf atau karakter.
Apakah saya dapat 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, lalu atur properti formatnya (Font, ParagraphFormat, dan seterusnya untuk gaya paragraf atau karakter).
Bagaimana cara menggandakan gaya, termasuk dari dokumen lain?
Panggil StyleCollection.AddCopy(style), dengan memberikan objek Style — yang dapat berasal dari StyleCollection milik Document yang berbeda — untuk menambahkan salinannya ke koleksi target.