İndeks ve Tablo Alanlarıyla Çalışma

İndeks ve Tablo Alanlarıyla Çalışma

Dizin ve Tablo Alanlarıyla Çalışma

Bu kılavuz, Word’ün “Index and Tables” alan ailesiyle — içerik tablosu, dizin, şekil tablosu ve yetki tablosu ardındaki alanlarla — nasıl çalışılacağını gösterir. Bunların her biri Field alt sınıfıdır ve Aspose.Words.Fields ad alanında bulunur: FieldToc (içerik tablosu veya şekiller), FieldIndex (dizin), FieldXE (dizin girdisi), FieldToa (yetki tablosu), FieldTA (yetki tablosu girdisi veya atıf), FieldTC (içerik tablosu girdisi) ve FieldRD (referans edilen belge, birden fazla dosyada birleşik bir dizin veya TOC oluşturmak için).


Alan Temel Sınıfı

Bu ailedeki her alan sınıfı Field sınıfından türetilir; bu sınıf Start, Separator ve End öğelerini ortaya çıkarır (alanı koşu akışında sınırlayan FieldStart, FieldSeparator ve FieldEnd düğümleri), Type (FieldType değeri — bu aile için FieldTOC, FieldIndex, FieldTOA, FieldTOCEntry, FieldIndexEntry, FieldTOAEntry veya FieldRefDoc), Result/DisplayResult (alanın şu anda hesaplanmış metni), IsLocked ve IsDirty, ve GetFieldCode(), Update(), Unlink() ve Remove() yöntemlerini. Update() alanın sonucunu yeniden hesaplar; bir içerik tablosu için bu, belge başlıklarından veya FieldTC işaretçilerinden giriş listesini yeniden oluşturmak anlamına gelir.

Bir İçerik Tablosu Ekleme

DocumentBuilder.InsertTableOfContents(switches), oluşturucunun mevcut konumuna bir FieldToc ekler ve hangi başlık seviyelerinin dahil edileceğini ve sonucun nasıl biçimlendirileceğini kontrol etmek için bir Word alan-değiştirici dizesi (örneğin "\o \"1-3\" \h \z \u") kullanır — bu, UI üzerinden bir TOC eklediğinizde Word’ün kendisinin yazdığı aynı değiştiricilerdir. Eklendikten sonra, FieldToc.UpdatePageNumbers() mevcut girişlerin sayfa numarası kısmını yeniden hesaplar. FieldToc ayrıca TOC’un yapısını doğrudan kontrol eden özellikleri ortaya çıkarır: HeadingLevelRange ve EntryLevelRange (hangi anahat seviyelerinin dahil edildiği), EntryIdentifier (TOC’un toplaması gereken TC alan tanımlayıcısı, farklı FieldTC işaretçilerinden birden çok TOC oluşturmak için), InsertHyperlinks, PreserveTabs/PreserveLineBreaks, EntrySeparator/SequenceSeparator, BookmarkName, ve — bir içerik tablosu yerine şekil tablosu için — TableOfFiguresLabel ve CaptionlessTableOfFiguresLabel.

Özel İçerik Tablosu Girdilerini İşaretleme

Her TOC girişinin bir başlık stilinden gelmesi gerekmez. FieldTC, paragraf stilinden bağımsız olarak belirli bir konumu içindekiler girişi olarak işaretler: FieldTC.Text giriş metnidir, EntryLevel görünmesi gereken ana hat seviyesidir, TypeIdentifier birden fazla içindekiler tablosu oluştururken onu bir FieldToc.EntryIdentifier ile bağlar ve OmitPageNumber bu giriş için sayfa numarasını gizler.

Dizin Oluşturma

FieldIndex, bir belgenin FieldXE (dizin girişi) işaretlerini alfabetik bir dizine derleyen INDEX alanını uygular. FieldXE.Text giriş metnidir, EntryType girişleri iki nokta üst üste ayrılmış sözdizimiyle alt seviyelere gruplar, PageRangeBookmarkName bir yer imini işaretler ve bu yer iminin kapsamı dizinde tek bir sayfa numarası yerine bir sayfa aralığı olur, ve IsBold/IsItalic ortaya çıkan sayfa referansını biçimlendirir. FieldIndex tarafında, Heading harf başlığı ayırıcıları (A, B, C…) ekler, LetterRange dizini alfabeden bir alt kümeye kısıtlar, RunSubentriesOnSameLine alt-giriş düzenini kontrol eder, ve PageNumberSeparator/PageRangeSeparator/SequenceSeparator/CrossReferenceSeparator bir giriş ile sayfa referansı arasındaki noktalamayı kontrol eder. FieldIndexFormat, Word’ün yerleşik dizin görsel stillerini (Template, Classic, Fancy, Modern, Bulleted, Formal, Simple) ayrı ayrı sayar.

Yetkililer Tablosu

FieldToa ve FieldTA, FieldIndex/FieldXE eşdeğeri yetkililerdir: FieldTA, metindeki bir atıfı işaretler (LongCitation ve ShortCitation metni, EntryCategory onu “Davalar” veya “Kanunlar” gibi bir başlık altında gruplayarak, ve IsBold/IsItalic biçimlendirme için), ve FieldToa bu atıfları bir tabloya derler, EntryCategory hangi kategorinin derleneceğini seçer, UseHeading ve UsePassim kategori başlıklarını ve sıkça atıfta bulunulan kaynaklar için “passim” kuralını kontrol eder, ve PageRangeSeparator/PageNumberListSeparator/SequenceSeparator/EntrySeparator/RemoveEntryFormatting düzeni kontrol eder.

Diğer Belgelerden İçerik Referanslama

FieldRD, bir TOC, dizin veya yetkililer tablosu alanına derleme sırasında başka bir dosyadan girişler eklemesini söyleyen RD alanını uygular — FieldRD.FileName referans verilen belgedir ve IsPathRelative bu yolun geçerli belgeye göre çözülüp çözülmeyeceğini kontrol eder.


İpuçları ve En İyi Uygulamalar

  • TOC anahtar dizesini Word’ün yaptığı gibi (\o "1-3" \h \z \u) oluşturun, her FieldToc özelliğini tek tek yapılandırmak yerine, ardından yalnızca değiştirmeniz gereken belirli özellikleri ayarlayın.
  • İçerik değişikliklerinden sonra FieldToc.UpdatePageNumbers() (veya Field.Update()) çağırın, böylece bir TOC, dizin veya otoriteler tablosu, eklendiği zamandaki eski sonuçlar yerine mevcut belgeyi yansıtır.
  • Bir belge birden fazla TOC gerektirdiğinde (örneğin ana TOC ve ayrı bir şekil tablosu) farklı giriş kümelerinden oluşturulmuş, FieldTC.TypeIdentifier ile FieldToc.EntryIdentifier birlikte kullanın.
  • Giriş metninde sayfa aralığını manuel olarak biçimlendirmek yerine FieldXE.PageRangeBookmarkName (veya FieldTA‘nin eşdeğer aralık işaretlemesi) ayarlayın, böylece içerik taşındığında dizin/tablo tutarlı kalır.
  • Bu baskının INDEX/TOC/TOA sonuçlarındaki sayfa numaralarının gerçek sayfa numaraları yerine yer tutucu değerler olduğunu unutmayın; çünkü sayfa düzeni ve sayfalama bu baskının bir parçası değildir.

Yaygın Sorunlar

SorunNedenDüzeltme
İçindekiler tablosu beklenen başlıkları içermiyorİçindekiler tablosunun geçiş dizesi (veya HeadingLevelRange) bu taslak seviyelerini dışarıda bırakıyorGeçişleri InsertTableOfContents‘a gönderilen şekilde ayarlayın veya FieldToc.HeadingLevelRange‘i belirleyin
Bir indeks girişi beklenen yerde görünmüyorİlgili FieldXE işareti eksik, ya da onun EntryType alt düzey sözdizimi FieldIndex‘nin beklediğiyle eşleşmiyorFieldXE işaretlerinin var olduğunu ve EntryType değerlerinin tutarlı biçimlendirildiğini doğrulayın
İçerik düzenlendikten sonra alan sonuçları eski görünüyorDüzenlemeden sonra alan güncellenmediAlanda Update() çağırın (veya UpdateFields()‘i Document üzerinde)
Derleme sırasında başka bir belgeden gelen girişler dahil edilmezFieldRD referansını içeren bir şey yok ya da IsPathRelative yolun çözülmesi gerektiği şekilde eşleşmiyorDoğru FileName ve IsPathRelative ayarıyla bir FieldRD ekleyin

FAQ

İçindekiler tablosunu programlı olarak nasıl ekleyebilirim?

TOC’nun görünmesi gereken konumda, DocumentBuilder.InsertTableOfContents(switches) işlevini "\o \"1-3\" \h \z \u" gibi bir Word stili anahtar dizesiyle çağırın.

Metni bir dizin girdisi olarak nasıl işaretlerim?

O konuma bir FieldXE alanı ekleyin (örneğin DocumentBuilder.InsertField aracılığıyla) ve Text özelliğini giriş metnine ayarlayın; FieldIndex belge içindeki tüm FieldXE işaretçilerini dizin sonucuna derler.

FieldTC ile başlık tabanlı TOC girdileri arasındaki fark nedir?

Word’ün varsayılan TOC davranışı, başlık stillerini kullanan paragraflardan girdileri toplar. FieldTC, paragraf stilinden bağımsız olarak istediğiniz bir konumu TOC girdisi olarak işaretlemenizi sağlar; bu da FieldToc‘nin eşleşen EntryIdentifier/TypeIdentifier değerleriyle dahil etmesini mümkün kılar.

Belge değiştikten sonra bir TOC veya dizini nasıl güncellerim?

Belirli alanda Update()‘ı çağırın (örneğin FieldToc.Update(), ya da sadece sayfa numaraları için FieldToc.UpdatePageNumbers()), ya da belgedeki tüm alanları yenilemek için Document.UpdateFields()‘ı kullanın.

Birden fazla belge üzerinde TOC veya dizin derleyebilir miyim?

Evet — FieldRD alanını, her ek belgeye FileName aracılığıyla işaret edecek şekilde ekleyin; derleme alanı (FieldToc, FieldIndex veya FieldToa) güncellendiğinde referans verilen belgelerden girdileri içerir.


API Reference Özet

Sınıf/YöntemAçıklama
FieldTüm alan türleri için temel sınıf, Start/Separator/End, Type, Update() dahil
DocumentBuilder.InsertTableOfContents(switches)Word tarzı TOC anahtarlarını kullanarak bir FieldToc ekleyin
FieldTocTOC alanını uygular (içindekiler tablosu veya şekil tablosu)
FieldTCBelirli bir konumda özel bir içindekiler tablosu girişini işaretler
FieldIndexINDEX alanını uygular, FieldXE işaretçilerini derler
FieldXEBir konumu dizin girişi olarak işaretler
FieldToatable-of-authorities alanını uygular, FieldTA işaretçilerini derler
FieldTABir table of authorities alıntısını işaretler
FieldRDTOC, dizin veya yetkiler tablosu derlenirken başka bir belgenin içeriğine referans verir
FieldIndexFormatWord’ün yerleşik indeks görsel stillerinin Enum’ı

Ayrıca Bakınız

 Türkçe