Bekerja dengan Bidang Indeks dan Tabel

Bekerja dengan Bidang Indeks dan Tabel

Bekerja dengan Bidang Indeks dan Tabel

Panduan ini menunjukkan cara bekerja dengan keluarga bidang “Index and Tables” Word — bidang di balik daftar isi, indeks, daftar gambar, dan daftar otoritas. Masing-masing ini adalah subclass Field dalam namespace Aspose.Words.Fields: FieldToc (daftar isi atau gambar), FieldIndex (indeks), FieldXE (entri indeks), FieldToa (daftar otoritas), FieldTA (entri daftar otoritas, atau sitasi), FieldTC (entri daftar isi), dan FieldRD (dokumen yang dirujuk, untuk membangun indeks atau TOC gabungan di beberapa file).


Kelas Dasar Bidang

Setiap kelas bidang dalam keluarga ini mewarisi dari Field, yang mengekspos Start, Separator, dan End (node FieldStart, FieldSeparator, dan FieldEnd yang membatasi bidang dalam aliran run), Type (nilai FieldType — FieldTOC, FieldIndex, FieldTOA, FieldTOCEntry, FieldIndexEntry, FieldTOAEntry, atau FieldRefDoc untuk keluarga ini), Result/DisplayResult (teks yang saat ini dihitung untuk bidang), IsLocked dan IsDirty, serta metode GetFieldCode(), Update(), Unlink(), dan Remove(). Update() menghitung ulang hasil bidang; untuk daftar isi, itu berarti membangun kembali daftar entri dari tajuk dokumen atau penanda FieldTC.

Menyisipkan Daftar Isi

DocumentBuilder.InsertTableOfContents(switches) menyisipkan FieldToc pada posisi saat ini builder, menggunakan string switch bidang Word (misalnya "\o \"1-3\" \h \z \u") untuk mengontrol level heading yang disertakan dan bagaimana hasil diformat — switch yang sama yang ditulis Word ketika Anda menyisipkan TOC melalui UI. Setelah disisipkan, FieldToc.UpdatePageNumbers() menghitung ulang bagian nomor halaman dari entri yang ada. FieldToc juga mengekspos properti yang mengontrol struktur TOC secara langsung: HeadingLevelRange dan EntryLevelRange (level outline yang disertakan), EntryIdentifier (identifikasi bidang TC yang harus dikumpulkan TOC, untuk membangun beberapa TOC dari penanda FieldTC yang berbeda), InsertHyperlinks, PreserveTabs/PreserveLineBreaks, EntrySeparator/SequenceSeparator, BookmarkName, dan — untuk daftar gambar bukan daftar isi — TableOfFiguresLabel dan CaptionlessTableOfFiguresLabel.

Menandai Entri Daftar Isi Kustom

Tidak setiap entri TOC berasal dari gaya heading. FieldTC menandai lokasi tertentu sebagai entri daftar isi yang independen dari gaya paragraf: FieldTC.Text adalah teks entri, EntryLevel adalah tingkat outline tempat entri tersebut muncul, TypeIdentifier menghubungkannya ke FieldToc.EntryIdentifier saat membuat lebih dari satu TOC, dan OmitPageNumber menekan nomor halaman untuk entri itu.

Membangun Indeks

FieldIndex menerapkan field INDEX, yang menyusun penanda FieldXE (entri indeks) dokumen menjadi indeks alfabetik. FieldXE.Text adalah teks entri, EntryType mengelompokkan entri ke dalam sub-level menggunakan sintaks dipisahkan titik dua, PageRangeBookmarkName menandai bookmark yang jangkauannya menjadi rentang halaman dalam indeks alih-alih nomor halaman tunggal, dan IsBold/IsItalic memformat referensi halaman yang dihasilkan. Di sisi FieldIndex, Heading menyisipkan pemisah huruf-heading (A, B, C…), LetterRange membatasi indeks pada subset alfabet, RunSubentriesOnSameLine mengontrol tata letak sub-entri, dan PageNumberSeparator/PageRangeSeparator/SequenceSeparator/CrossReferenceSeparator mengatur tanda baca antara entri dan referensi halamannya. FieldIndexFormat secara terpisah mencantumkan gaya visual indeks bawaan Word (Template, Classic, Fancy, Modern, Bulleted, Formal, Simple).

Daftar Otoritas

FieldToa dan FieldTA adalah setara otoritas dari FieldIndex/FieldXE: FieldTA menandai kutipan dalam teks (LongCitation dan ShortCitation teks, EntryCategory untuk mengelompokkannya di bawah heading seperti “Kasus” atau “Undang-Undang”, dan IsBold/IsItalic untuk pemformatan), dan FieldToa menyusun kutipan tersebut menjadi sebuah tabel, dengan EntryCategory memilih kategori yang akan disusun, UseHeading dan UsePassim mengontrol heading kategori dan konvensi “passim” untuk sumber yang dikutip berkali-kali, serta PageRangeSeparator/PageNumberListSeparator/SequenceSeparator/EntrySeparator/RemoveEntryFormatting mengontrol tata letak.

Mereferensikan Konten Dari Dokumen Lain

FieldRD menerapkan field RD, yang memberi tahu field TOC, indeks, atau daftar otoritas untuk menyertakan entri dari file lain saat menyusun — FieldRD.FileName adalah dokumen yang dirujuk, dan IsPathRelative mengontrol apakah jalur tersebut diselesaikan relatif terhadap dokumen saat ini.


Tip dan Praktik Terbaik

  • Bangun string saklar TOC dengan cara yang sama seperti Word melakukannya (\o "1-3" \h \z \u) alih-alih mengonfigurasi setiap properti FieldToc secara individual, kemudian sesuaikan hanya properti spesifik yang perlu Anda ubah setelahnya.
  • Panggil FieldToc.UpdatePageNumbers() (atau Field.Update()) setelah ada perubahan konten sehingga TOC, indeks, atau tabel otoritas mencerminkan dokumen saat ini, bukan hasil usang dari saat dimasukkan.
  • Gunakan FieldTC.TypeIdentifier bersama dengan FieldToc.EntryIdentifier ketika sebuah dokumen memerlukan lebih dari satu TOC (misalnya TOC utama dan tabel gambar terpisah) yang dibangun dari set entri yang berbeda.
  • Atur FieldXE.PageRangeBookmarkName (atau penandaan rentang setara FieldTA) alih-alih memformat rentang halaman secara manual dalam teks entri, sehingga indeks/tabel tetap konsisten jika konten berpindah.
  • Ingat bahwa nomor halaman dalam hasil INDEX/TOC/TOA edisi ini dievaluasi sebagai nilai placeholder, bukan nomor halaman sebenarnya, karena tata letak halaman dan paginasi bukan bagian dari edisi ini.

Masalah Umum

MasalahPenyebabPerbaikan
Daftar isi tidak menyertakan judul yang diharapkanString saklar TOC (atau HeadingLevelRange) mengecualikan level outline tersebutSesuaikan saklar yang diteruskan ke InsertTableOfContents atau atur FieldToc.HeadingLevelRange
Entri indeks tidak muncul di tempat yang diharapkanPenanda FieldXE yang bersangkutan tidak ada, atau sintaks sub-level EntryType-nya tidak cocok dengan apa yang diharapkan FieldIndexKonfirmasi penanda FieldXE ada dan nilai EntryType mereka diformat secara konsisten
Hasil bidang tampak usang setelah mengedit kontenBidang tidak diperbarui setelah penyuntinganPanggil Update() pada bidang (atau UpdateFields() pada Document)
Entri dari dokumen lain tidak disertakan saat kompilasiTidak ada FieldRD yang merujuk ke dokumen itu, atau IsPathRelative tidak cocok dengan cara jalur seharusnya teruraiTambahkan FieldRD dengan pengaturan FileName dan IsPathRelative yang benar

FAQ

Bagaimana cara menyisipkan daftar isi secara programatis?

Panggil DocumentBuilder.InsertTableOfContents(switches) dengan string switch bergaya Word, seperti "\o \"1-3\" \h \z \u", pada posisi di mana TOC harus muncul.

Bagaimana cara menandai teks sebagai entri indeks?

Sisipkan bidang FieldXE di lokasi tersebut (misalnya melalui DocumentBuilder.InsertField) dengan properti Text-nya diatur ke teks entri; FieldIndex mengkompilasi semua penanda FieldXE dalam dokumen menjadi hasil indeks.

Apa perbedaan antara FieldTC dan entri TOC berbasis heading?

Perilaku TOC default Word mengumpulkan entri dari paragraf yang menggunakan gaya heading. FieldTC memungkinkan Anda menandai lokasi sembarang sebagai entri TOC terlepas dari gaya paragraf, yang dapat dimasukkan oleh FieldToc melalui pencocokan nilai EntryIdentifier/TypeIdentifier.

Bagaimana cara menyegarkan TOC atau indeks setelah dokumen berubah?

Panggil Update() pada bidang tertentu (misalnya FieldToc.Update(), atau FieldToc.UpdatePageNumbers() hanya untuk nomor halaman), atau Document.UpdateFields() untuk menyegarkan semua bidang dalam dokumen.

Apakah saya dapat mengompilasi TOC atau indeks di seluruh beberapa dokumen?

Ya — sisipkan bidang FieldRD yang menunjuk ke setiap dokumen tambahan melalui FileName; bidang kompilasi (FieldToc, FieldIndex, atau FieldToa) menyertakan entri dari dokumen yang dirujuk ketika diperbarui.


API Reference Ringkasan

Kelas/MetodeDeskripsi
FieldKelas dasar untuk semua tipe bidang, termasuk Start/Separator/End, Type, Update()
DocumentBuilder.InsertTableOfContents(switches)Sisipkan FieldToc menggunakan saklar TOC gaya Word
FieldTocMenerapkan field TOC (daftar isi atau daftar gambar)
FieldTCMenandai entri daftar isi khusus pada lokasi tertentu
FieldIndexMenerapkan field INDEX, mengompilasi penanda FieldXE
FieldXEMenandai lokasi sebagai entri indeks
FieldToaMengimplementasikan bidang table-of-authorities, mengompilasi penanda FieldTA
FieldTAMenandai kutipan untuk table of authorities
FieldRDMereferensikan konten dokumen lain saat mengompilasi TOC, indeks, atau table of authorities
FieldIndexFormatEnum gaya visual indeks bawaan Word

Lihat Juga

 Bahasa Indonesia