Pendahuluan

Aspose.Words FOSS untuk .NET mencakup model objek pemformatan teks yang sama dengan mesin Aspose.Words komersial: Font untuk atribut tingkat run, ParagraphFormat untuk atribut tingkat paragraf, ListFormat untuk daftar bernomor dan berpoin, FrameFormat untuk bingkai teks yang diposisikan, dan Range.Replace untuk temukan-dan-ganti. Panduan ini secara khusus melihat lapisan tersebut — pemformatan dan penulisan ulang teks yang sudah ada dalam dokumen — bukan membangun struktur dokumen dari awal (lihat posting pendahuluan untuk gambaran rilis).

Pustaka ini berlisensi MIT tanpa dependensi native dan menargetkan .NET Standard 2.0, sehingga dapat dijalankan pada .NET Framework 4.6.2+ dan .NET 6, 8, serta 10. Instal melalui NuGet, atau bangun dari sumber (lihat Panduan Cepat di bawah). Semua yang dijelaskan di sini berfungsi terhadap .docx, .docm, .dotx, .dotm, dan file Flat OPC yang dimuat dengan new Document(fileName), atau terhadap dokumen yang dibangun di memori dengan DocumentBuilder.

Karena Aspose.Words FOSS untuk .NET adalah basis kode Aspose.Words asli yang diperkecil menjadi inti gratis bukan penulisan ulang, model objek Font, ParagraphFormat, ListFormat, dan FrameFormat langsung diteruskan ke Aspose.Words komersial untuk .NET jika sebuah proyek kemudian membutuhkan tata letak halaman, rendering, atau konverter format tambahan yang tidak disertakan dalam edisi ini.


Fitur Utama

Pemformatan Tingkat Run dengan Font

Setiap Run mengekspos properti Font, dan DocumentBuilder.Font menentukan font yang akan diterapkan pada teks yang ditulis berikutnya. Selain Bold, Italic, dan Underline yang jelas (enum Underline dengan nilai termasuk Single, Double, Dotted, Dash, Wavy, dan varian *Heavy mereka), Font mencakup StrikeThrough, DoubleStrikeThrough, Superscript, Subscript, SmallCaps, AllCaps, Hidden, Shadow, Outline, Emboss, Engrave, Color, HighlightColor, Spacing, Position, Kerning, Scaling, dan EmphasisMark. Font.Style, Font.StyleName, dan Font.StyleIdentifier mengaitkan run kembali ke gaya karakter, dan Font.ClearFormatting() mengatur ulang pemformatan langsung pada run ke default gaya-nya. DocumentBuilder juga mengekspos Bold, Italic, dan Underline secara langsung sebagai pintasan, serta PushFont() dan PopFont() untuk menyimpan dan memulihkan keadaan font builder saat ini di sekitar perubahan pemformatan sementara.

Pemformatan Paragraf dengan ParagraphFormat

ParagraphFormat (dapat diakses melalui Paragraph.ParagraphFormat atau DocumentBuilder.ParagraphFormat) mengontrol perataan melalui enum ParagraphAlignment (Left, Center, Right, Justify, Distributed, serta varian kashida Arab dan varian distribusi Thai), indentasi melalui LeftIndent, RightIndent, dan FirstLineIndent (dengan ekivalen CharacterUnit* untuk tata letak Asia Timur), dan spasi melalui SpaceBefore, SpaceAfter, serta LineSpacingRule/LineSpacing. Perilaku paginasi dikendalikan dengan KeepTogether, KeepWithNext, PageBreakBefore, dan WidowControl, dan Bidi menandai paragraf sebagai right-to-left. Tab stop khusus berada di ParagraphFormat.TabStops, sebuah TabStopCollection dari objek TabStop, masing-masing dengan Position, sebuah TabAlignment (Left, Center, Right, Decimal, Bar), dan sebuah TabLeader (None, Dots, Dashes, Line, Heavy, MiddleDot). Seperti pada Font, ParagraphFormat.Style dan StyleName menautkan paragraf ke Style yang bernama, dan ClearFormatting() menghapus pemformatan paragraf langsung.

Daftar dengan ListFormat

ListFormat (pada Paragraph.ListFormat atau DocumentBuilder.ListFormat) menerapkan pemformatan daftar pada sebuah paragraf: ApplyBulletDefault() dan ApplyNumberDefault() mengubahnya menjadi daftar berpoin atau bernomor default, RemoveNumbers() menghapus pemformatan daftar sepenuhnya, dan ListIndent()/ListOutdent() memindahkannya antar level daftar. ListFormat.List mengembalikan definisi List yang mendasari, dan ListFormat.ListLevel mengembalikan ListLevel yang berlaku untuk paragraf tersebut, yang memuat pengaturan per-level seperti NumberStyle, NumberFormat, Alignment (sebuah ListLevelAlignment dari Left, Center, atau Right), StartAt, RestartAfterLevel, Font khusus level, dan TrailingCharacter (sebuah ListTrailingCharacter dari Tab, Space, atau Nothing) yang mengontrol jarak antara label daftar dan teks paragraf. Definisi daftar baru berasal dari ListCollection.Add(listTemplate) menggunakan salah satu preset ListTemplate bawaan (BulletDefault, NumberArabicDot, NumberUppercaseRomanDot, dan yang serupa), atau AddSingleLevelList untuk daftar satu-level; daftar dalam dokumen di-enumerasi melalui Document.Lists.

Bingkai Teks dengan FrameFormat

Paragraph.FrameFormat adalah objek pelaporan read-only: setiap properti padanya mencerminkan paragraf saat ini status frame alih-alih membiarkan Anda mengaturnya secara langsung. IsFrame melaporkan apakah paragraf saat ini merupakan sebuah frame; Width, Height, dan HeightRule laporkan ukurannya; HorizontalPosition dan VerticalPosition, bersama dengan RelativeHorizontalPosition dan RelativeVerticalPosition, laporkan di mana ia ditempatkan relatif terhadap halaman, margin, kolom, atau paragraf; dan HorizontalDistanceFromText/VerticalDistanceFromText laporkan celah antara bingkai dan teks tubuh di sekitarnya. HorizontalAlignment dan VerticalAlignment laporkan bagaimana konten disejajarkan di dalam bingkai.

Cari dan Ganti dengan Range dan IReplacingCallback

Range.Replace — tersedia pada Document.Range untuk proses seluruh dokumen, atau pada Range dari node mana pun — memiliki overload untuk pasangan pola/pengganti biasa dan untuk pasangan pola/pengganti yang digabungkan dengan instance FindReplaceOptions, mendukung pencocokan berbasis regex. FindReplaceOptions.MatchCase dan FindWholeWordsOnly mempersempit apa yang dianggap sebagai kecocokan; Direction (FindReplaceDirection.Forward atau Backward) menentukan urutan pemindaian; ApplyFont dan ApplyParagraphFormat memungkinkan proses ganti membawa pemformatan ke teks pengganti; dan sekumpulan flag Ignore* (IgnoreDeleted, IgnoreInserted, IgnoreFields, IgnoreFieldCodes, IgnoreFootnotes, IgnoreStructuredDocumentTags, IgnoreShapes, IgnoreOfficeMath) mengecualikan kategori konten tertentu dari kecocokan. Untuk logika penggantian yang tidak dapat diekspresikan oleh string tetap, implementasikan IReplacingCallback.Replacing(args) dan tetapkan sebagai FindReplaceOptions.ReplacingCallback (atau berikan ke salah satu konstruktor FindReplaceOptions yang menerima callback secara langsung); parameter args adalah ReplacingArgs yang menampilkan Match, MatchNode, MatchOffset, dan string Replacement yang dapat diatur sehingga callback dapat menghitung nilai per kecocokan. Enum ReplaceAction terkait (Replace, Skip, Stop) menjelaskan kemungkinan hasil untuk satu kecocokan selama operasi.


Panduan Cepat

Aspose.Words FOSS untuk .NET tersedia melalui NuGet:

dotnet add package Aspose.Words.FOSS

Untuk membangun dari sumber sebagai gantinya:

git clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git
cd Aspose.Words-FOSS-for-.NET
dotnet build Aspose.Words.sln -c Release

Kemudian tambahkan referensi proyek ke Aspose.Words.csproj. Untuk memformat teks saat Anda menulisnya, atur properti DocumentBuilder.Font (Bold, Italic, Underline), properti DocumentBuilder.ParagraphFormat (Alignment, indentasi, spasi), dan DocumentBuilder.ListFormat (ApplyBulletDefault(), ApplyNumberDefault()) sebelum memanggil Write(), Writeln(), atau InsertParagraph() — pembangun menerapkan keadaan pemformatan saat ini ke semua yang ditulis sampai Anda mengubahnya lagi, atau membungkus perubahan sementara dalam PushFont()/PopFont(). Untuk memformat ulang atau menulis kembali teks yang sudah ada dalam dokumen, buka dengan new Document(fileName) dan panggil Range.Replace() pada doc.Range — baik overload pola/pengganti biasa, atau overload yang menerima FindReplaceOptions dengan MatchCase, FindWholeWordsOnly, atau IReplacingCallback khusus — kemudian Save() hasilnya.


Format yang Didukung

FormatEkstensiBacaTulis
DOCX.docx
DOCM.docm
DOTX.dotx
DOTM.dotm
Flat OPC (semua varian)(berbagai)
Markdown.md
Text.txt

Kelas pemformatan di atas berlaku dengan cara yang sama terlepas dari format mana dokumen dimuat atau disimpan. Edisi ini tidak mendukung DOC, RTF, ODT, HTML, EPUB, MHTML, MOBI, AZW3, atau WordML untuk membaca atau menulis, dan tidak mendukung PDF, XPS, atau ekspor gambar, karena tata letak halaman dan rendering berada di luar cakupannya.


Sumber Terbuka & Lisensi

Aspose.Words FOSS untuk .NET dirilis di bawah lisensi MIT, gratis untuk penggunaan komersial dan pribadi tanpa royalti atau pembatasan redistribusi. Sumber lengkap, termasuk implementasi Font, ParagraphFormat, ListFormat, FrameFormat, dan Range yang dijelaskan di atas, tersedia di GitHub dalam Aspose.Words FOSS untuk .NET repository.


Memulai

Sumber Daya Terkait