Bekerja dengan Teks

Bekerja dengan Teks

Teks dalam dokumen Word diatur ke dalam node Run (karakter berurutan yang berbagi format font yang sama) yang dikelompokkan di dalam node Paragraph. Aspose.Words FOSS untuk .NET mengekspos keduanya secara langsung, bersama dengan Font untuk format karakter, ParagraphFormat untuk format tingkat paragraf, dan Range untuk membaca atau mengganti teks pada bagian mana pun dari pohon. Panduan ini mencakup run dan font, format paragraf, membaca dan mengganti teks, komentar, serta format daftar tingkat paragraf.


Run dan Format Karakter

Sebuah Run mewakili rentang teks yang berbagi satu set format; properti Text-nya menyimpan konten teks polos dan properti Font-nya (sebuah objek Font) menyimpan format tingkat karakter — Name, Size, Bold, Italic, Underline, Color, HighlightColor, Subscript/Superscript, StrikeThrough, dan banyak lagi. Font.ClearFormatting() mengatur ulang font run ke nilai default. Run dalam paragraf tersedia melalui properti Runs-nya, sebuah RunCollection.


Paragraf dan Format Paragraf

Paragraph adalah node komposit yang berisi run (dan konten inline lain) dari satu paragraf; paragraf dokumen atau badan diekspos sebagai ParagraphCollection (Body.Paragraphs). Paragraph.ParagraphFormat (sebuah objek ParagraphFormat) mengontrol tata letak tingkat paragraf — Alignment, indentasi (LeftIndent, RightIndent, FirstLineIndent), spasi (SpaceBefore, SpaceAfter, LineSpacing, LineSpacingRule), dan perilaku pagination (KeepTogether, KeepWithNext, PageBreakBefore, WidowControl). ParagraphFormat.ClearFormatting() mengatur ulang ini ke nilai default, dan Paragraph.JoinRunsWithSameFormatting() menggabungkan run berdekatan yang memiliki format identik.


Membaca dan Mengganti Teks dengan Range

Setiap node yang berisi konten — sebuah Document, Section, Paragraph, atau Run — mengekspos sebuah Range. Range.Text mengembalikan teks polos dari semua hal dalam rentang tersebut, dan Range.Replace(pattern, replacement) melakukan pencarian-dan-penggantian yang terbatas hanya pada rentang itu, sehingga Anda dapat, misalnya, mengganti teks di dalam satu paragraf tanpa menyentuh sisa dokumen. Range.Delete() menghapus konten rentang tersebut secara langsung.


Comments

Sebuah node Comment menambatkan komentar pada sebuah lokasi dalam teks; buat satu dengan new Comment(doc, author, initial, dateTime) dan atur teks tubuhnya dengan SetText(text), kemudian sisipkan ke dalam dokumen seperti node lainnya. Comment.AddReply(author, initial, dateTime, text) menempelkan balasan berutas, dan RemoveReply(reply) / RemoveAllReplies() menghapusnya. Komentar-komentar sebuah dokumen dikumpulkan dalam sebuah CommentCollection.


Pemformatan Daftar pada Tingkat Paragraf

Paragraph.ListFormat (sebuah objek ListFormat) melaporkan dan mengendalikan apakah sebuah paragraf merupakan bagian dari daftar: IsListItem dan ListLevelNumber melaporkan keadaan saat ini, ApplyBulletDefault() dan ApplyNumberDefault() mengubah paragraf menjadi item daftar berpoin atau bernomor default, ListIndent() / ListOutdent() mengubah tingkat bersarang daftarnya, dan RemoveNumbers() mengembalikannya menjadi paragraf biasa.


Tips dan Praktik Terbaik

  • Atur properti font pada DocumentBuilder.Font sebelum menulis teks dengan builder daripada menulis teks terlebih dahulu dan memformat ulang objek Run secara individual setelahnya.
  • Batasi Range.Replace ke rentang terkecil yang mencakup apa yang sebenarnya ingin Anda ubah — panggil pada rentang Paragraph atau Section alih-alih seluruh dokumen ketika perubahan tidak seharusnya berlaku pada seluruh dokumen.
  • Panggil Paragraph.JoinRunsWithSameFormatting() setelah serangkaian penyuntingan programatik untuk menghindari struktur run yang tidak perlu terfragmentasi.
  • Gunakan ListFormat.ApplyBulletDefault() / ApplyNumberDefault() untuk daftar default cepat alih-alih membangun definisi daftar secara manual ketika default bawaan sudah cukup.
  • Baca hasil Comment.AddReply sebagai node Comment itu sendiri — balasan berupa objek komentar lengkap, bukan string biasa.

Masalah Umum

MasalahPenyebabPerbaikan
Memformat Run’s Font tidak mengubah tampilan teks di sebelahnyaTeks di sebelahnya berada dalam Run yang berbeda dengan instance Font miliknya sendiriTemukan dan format setiap Run yang terpengaruh, atau atur pemformatan melalui DocumentBuilder.Font sebelum menulis
Range.Replace mengubah teks di luar area yang dimaksudReplace dipanggil pada Document.Range alih-alih rentang node yang lebih sempitPanggil Replace pada Paragraph spesifik, Section, atau Range node lainnya
Sebuah paragraf terlihat seperti item daftar tetapi IsListItem salahBullet/nomor adalah teks manual, bukan format daftar yang sebenarnyaTerapkan format daftar yang sebenarnya dengan ListFormat.ApplyBulletDefault() atau ApplyNumberDefault() alih-alih karakter yang diketik
Dokumen memiliki jauh lebih banyak node Run daripada yang diharapkanPengeditan kecil berulang memisahkan run tanpa menggabungkannya kembaliPanggil Paragraph.JoinRunsWithSameFormatting() setelah batch pengeditan

FAQ

Apa perbedaan antara Run dan Paragraph?

Sebuah Run adalah rentang teks yang berbagi satu set format karakter (Font); sebuah Paragraph adalah node komposit yang berisi satu atau lebih run (dan konten inline lainnya) serta format tingkat paragraf (ParagraphFormat).

Bagaimana cara membaca semua teks dalam dokumen atau bagian?

Baca properti Text dari Range node tersebut — misalnya, document.Range.Text atau section.Range.Text.

Bagaimana cara menemukan dan mengganti teks hanya dalam satu paragraf?

Panggil Replace(pattern, replacement) pada Range milik Paragraph tersebut, bukan pada Document.Range.

Bagaimana cara menambahkan komentar ke dokumen?

Buat itu dengan new Comment(doc, author, initial, dateTime), tetapkan teksnya dengan SetText(text), dan sisipkan ke dalam pohon; balas ke itu dengan Comment.AddReply(author, initial, dateTime, text).

Bagaimana cara mengubah paragraf menjadi item daftar berpoin?

Panggil ApplyBulletDefault() pada ListFormat paragraf tersebut; gunakan ApplyNumberDefault() untuk daftar bernomor sebagai gantinya.


API Reference Ringkasan

Class/MethodDeskripsi
RunSebuah rentang teks yang berbagi satu set pemformatan karakter.
FontPemformatan tingkat karakter — nama, ukuran, tebal, miring, warna, dan lainnya.
ParagraphNode komposit yang berisi run dan pemformatan satu paragraf.
ParagraphFormatPemformatan tingkat paragraf — perataan, indentasi, spasi, pagination.
ParagraphCollectionKoleksi bertipe Paragraph nodes, misalnya Body.Paragraphs.
RangeArea kontigu dalam dokumen; mendukung Text, Replace, dan Delete.
CommentKomentar berutas yang terpasang pada lokasi dalam teks.
CommentCollectionKoleksi komentar dokumen.
ListFormatMengontrol apakah dan bagaimana paragraf berpartisipasi dalam daftar.

Lihat Juga

 Bahasa Indonesia