Cara Bekerja dengan Teks di .NET

Cara Bekerja dengan Teks di .NET

Panduan ini menunjukkan cara bekerja dengan teks di Aspose.Words FOSS untuk .NET: memformat font run, memformat paragraf, menemukan dan mengganti teks dengan Range, menambahkan komentar, dan mengubah paragraf menjadi item daftar. Aspose.Words FOSS untuk .NET tersedia melalui NuGet atau dengan membangun dari sumber.

Panduan Langkah-demi-Langkah

Langkah 1: Dapatkan Perpustakaan

Klon repositori dan bangun Aspose.Words.sln dalam konfigurasi Release, lalu tambahkan referensi proyek ke Aspose.Words.csproj dari proyek .NET milik Anda sendiri, seperti yang dijelaskan dalam Panduan Instalasi. Tambahkan using Aspose.Words; di bagian atas file apa pun yang bekerja dengan teks.


Langkah 2: Format Font Run

Sebuah Run adalah rentang teks yang berbagi satu set format; properti Text-nya menyimpan konten teks biasa dan properti Font-nya (sebuah objek Font) menyimpan format tingkat karakter — Name, Size, Bold, Italic, Underline, Color, HighlightColor, Subscript/Superscript, dan StrikeThrough di antara lainnya. Font.ClearFormatting() mengatur ulang sebuah run ke nilai default. Run-run dalam sebuah paragraf tersedia melalui properti Runs, sebuah RunCollection. Menetapkan properti font pada DocumentBuilder.Font sebelum menulis teks baru biasanya lebih sederhana daripada memformat objek Run secara individual setelahnya.


Langkah 3: Format Sebuah Paragraf

Paragraph.ParagraphFormat (sebuah objek ParagraphFormat) mengontrol tata letak pada 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 — berguna setelah serangkaian edit programatik meninggalkan paragraf dengan lebih banyak run daripada yang diperlukan.


Langkah 4: Temukan dan Ganti Teks dengan Rentang

Setiap node yang memuat konten — sebuah Document, Section, Paragraph, atau Run — mengekspos sebuah Range. Range.Text mengembalikan teks polos dari semua yang berada dalam rentang itu, dan Range.Replace(pattern, replacement) melakukan temukan-dan-ganti yang dibatasi hanya pada rentang tersebut: panggil pada Paragraph’s Range untuk mengubah teks hanya dalam satu paragraf, atau pada Document.Range untuk mencari seluruh dokumen. Range.Delete() menghapus konten rentang tersebut secara langsung.


Langkah 5: Tambahkan Komentar

Bangun sebuah Comment dengan new Comment(doc, author, initial, dateTime), tetapkan teksnya dengan SetText(text), lalu sisipkan ke dalam pohon seperti node lainnya. Comment.AddReply(author, initial, dateTime, text) melampirkan balasan berutas — yang juga merupakan Comment — dan RemoveReply(reply) / RemoveAllReplies() mengambil balasan kembali. Komentar-komentar dalam dokumen dikumpulkan dalam sebuah CommentCollection.


Langkah 6: Ubah Paragraf Menjadi Item Daftar

Paragraph.ListFormat (sebuah objek ListFormat) melaporkan dan mengontrol apakah sebuah paragraf berpartisipasi dalam daftar: IsListItem dan ListLevelNumber melaporkan keadaan saat ini. ApplyBulletDefault() mengubah paragraf menjadi item bullet default dan ApplyNumberDefault() menjadi item bernomor default; ListIndent() / ListOutdent() mengubah tingkat nestingnya, dan RemoveNumbers() mengembalikannya menjadi paragraf biasa.

Masalah Umum dan Solusi

Memformat satu Run’s font tidak mengubah teks di sebelahnya. Teks yang berdekatan berbeda Run dengan miliknya sendiri Font instance. Baik temukan dan format setiap yang terpengaruh Run, atau atur format pada DocumentBuilder.Font sebelum menulis teks baru.

Range.Replace mengubah teks di luar area yang dimaksud. Replace dipanggil pada Document.Range alih-alih rentang node yang lebih sempit. Panggil pada yang spesifik Paragraph or Section yang teksnya harus diubah.

Sebuah paragraf terlihat seperti item daftar berpoin tetapi IsListItem is false. Bullet tersebut adalah teks yang diketik, bukan format daftar sebenarnya. Terapkan dengan ListFormat.ApplyBulletDefault() sebaliknya.

Dokumen berakhir dengan jauh lebih banyak Run node daripada yang diharapkan. Edit programatik kecil yang berulang memisahkan run tanpa menggabungkannya kembali. Panggil Paragraph.JoinRunsWithSameFormatting() setelah sekumpulan edit.

Pertanyaan yang Sering Diajukan

Apa perbedaan antara Run dan Paragraph?

A Run adalah rentang teks yang berbagi satu set pemformatan karakter (Font). A Paragraph adalah node komposit yang berisi satu atau lebih run ditambah pemformatan tingkat paragraf (ParagraphFormat).

Bagaimana cara saya membaca semua teks dalam dokumen atau satu bagian saja?

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

Bagaimana cara mengganti teks di dalam satu paragraf saja, bukan seluruh dokumen?

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

Bagaimana cara saya membalas komentar yang sudah ada?

Panggil Comment.AddReply(author, initial, dateTime, text) pada instance Comment asli.

Bagaimana cara mengubah item daftar bernomor kembali menjadi paragraf biasa?

Panggil RemoveNumbers() pada ListFormat paragraf itu.

Lihat Juga

 Bahasa Indonesia