Word Dizini ve Tabloları .NET içinde Nasıl Kullanılır

Word Dizini ve Tabloları .NET içinde Nasıl Kullanılır

Word Dizini ve Tabloları ile .NET Nasıl Çalışılır

Bu kılavuz, Word belgelerinin kendi içeriğini özetlemek için kullandığı alan-tabanlı referans yapılarını — bir içerik tablosu, alfabetik bir dizin ve bir kaynakça tablosu — Aspose.Words FOSS for .NET ile nasıl ekleyeceğinizi ve oluşturacağınızı gösterir. Her biri, belgede başka bir yerde bulunan işaretçi alanlarından derlenir: FieldToc başlık-tabanlı ve FieldTC-işaretli girdileri derler, FieldIndex FieldXE işaretçilerini derler ve FieldToa FieldTA atıflarını derler. Bu ailedeki her alan sınıfı, Aspose.Words.Fields ad alanındaki temel Field tipinden türetilir.


Adım Adım Kılavuz

Adım 1: İçindekiler Tablosu Ekle

DocumentBuilder.InsertTableOfContents(switches)‘ı, TOC’nun görünmesi gereken konumda çağırın ve hangi başlık seviyelerinin dahil edileceğini ve sonucun nasıl biçimlendirileceğini kontrol eden bir Word-stili alan-anahtar dizesi — örneğin "\o \"1-3\" \h \z \u" — geçirin; bu, Word’ün UI üzerinden bir TOC eklendiğinde yazdığı aynı anahtarları kullanır. Bu, bir FieldToc ekler; aynı yapı doğrudan özellikler olarak da sunulur: dahil edilen taslak seviyeleri için HeadingLevelRange/EntryLevelRange, InsertHyperlinks, PreserveTabs/PreserveLineBreaks ve BookmarkName. İçindekiler tablosu yerine bir şekil tablosu için, aynı FieldToc üzerinde TableOfFiguresLabel veya CaptionlessTableOfFiguresLabel ayarlayın.


Adım 2: Özel İçindekiler Tablosu Girdilerini İşaretle

Bir TOC’nun içermesi gereken her giriş başlık stilinden gelmez. FieldTC‘ı belirli bir konuma ekleyerek, paragraf stilinden bağımsız bir TOC girişi olarak işaretleyin: FieldTC.Text giriş metnidir, EntryLevel görünmesi gereken anahat seviyesidir ve OmitPageNumber bu giriş için sayfa numarasını gizler. Bir belgede birden fazla TOC gerektiğinde — örneğin bir ana TOC ve ayrı bir şekil tablosu — FieldTC.TypeIdentifier‘ı, EntryIdentifier ile eşleşecek şekilde, FieldToc‘ın içinde ayarlayın.


Adım 3: İşaretlenmiş Girdilerden Bir Dizin Oluştur

İndekste yer alması gereken her konumu bir FieldXE ile işaretleyin, Text öğesini giriş metnine ayarlayın; EntryType girişleri iki nokta üst üste ayrılmış sözdizimi kullanarak alt seviyelere gruplar ve PageRangeBookmarkName indekste tek bir sayfa numarası yerine bir sayfa aralığı haline gelen bir yer işaretini işaretler. FieldIndex belgedeki her FieldXE işaretçisini alfabetik sonuca derler — harf başlığı ayırıcıları (A, B, C…) eklemek için Heading ayarlayın, indeksi alfabenin bir kısmıyla sınırlamak için LetterRange ayarlayın ve alt giriş düzenini kontrol etmek için RunSubentriesOnSameLine ayarlayın. PageNumberSeparator, PageRangeSeparator, SequenceSeparator ve CrossReferenceSeparator bir giriş ile sayfa referansı arasındaki noktalama işaretlerini kontrol eder. Word’ün yerleşik indeks görsel stilleri FieldIndexFormat enum’u olarak mevcuttur (Template, Classic, Fancy, Modern, Bulleted, Formal, Simple).


Adım 4: Atıflardan Yetki Tablosu Oluşturun

Metindeki her atıfı bir FieldTA ile işaretleyin: LongCitation ve ShortCitation atıf metnini tutar, EntryCategory “Cases” veya “Statutes” gibi bir başlık altında gruplar ve IsBold/IsItalic biçimlendirmesini kontrol eder. FieldToa bu atıfları bir tabloya derler — EntryCategory hangi kategorinin derleneceğini seçer, UseHeading kategori başlıklarının görünüp görünmeyeceğini kontrol eder, UsePassim çok kez atıf yapılan kaynaklar için “passim” kuralını uygular ve PageRangeSeparator/PageNumberListSeparator/SequenceSeparator/EntrySeparator/RemoveEntryFormatting yerleşimi kontrol eder.


Adım 5: Belge Değişikliklerinden Sonra Alanları Yenile

Bir İçindekiler tablosu, dizin veya yetki tablosu, çevresindeki içerik değiştiğinde kendini güncellemez. Belirli alanda Update() çağırın — örneğin FieldToc.Update() — sonucunu yeniden hesaplamak için, ya da yalnızca sayfa numarası kısmının yenilenmesi gerektiğinde FieldToc.UpdatePageNumbers(). Bir belgede tüm alanları tek tek değil, bir anda yenilemek için Document.UpdateFields() çağırın. Bu alanların sonuçlarındaki sayfa numaralarının bu baskıda yer tutucu değerler olduğunu unutmayın, çünkü sayfa düzeni ve sayfalama buna dahil değildir.


Adım 6: Diğer Belgelerden Girişleri Dahil Et

Derleme sırasında bir TOC, indeks veya yetki tablosunun başka bir dosyadan girişleri çekmesi için bir FieldRD ekleyin. FieldRD.FileName başvurulan belgeyi adlandırır ve IsPathRelative bu yolun geçerli belgeye göre göreli olarak çözülüp çözülmeyeceğini kontrol eder. Ek belge başına bir FieldRD ekleyin ve ardından derleme alanını güncelleyerek birleştirilmiş sonucun başvurulan içeriği içermesini sağlayın.


Yaygın Sorunlar ve Çözümler

Bir içindekiler tablosu beklenen başlıkları içermiyor. TOC’nun anahtar dizesi (veya HeadingLevelRange) bu taslak seviyelerini dışlıyor. Geçirilen anahtarları şuraya ayarlayın InsertTableOfContents, ya da doğrudan ayarlayın. FieldToc.HeadingLevelRange doğrudan.

Bir indeks girdisi beklenen yerde görünmüyor. İlgili FieldXE işaretleyici eksik, ya da onun EntryType alt düzey sözdizimi, beklenenle eşleşmiyor FieldIndex bekliyor. FieldXE işaretçiler mevcut ve onların EntryType değerler tutarlı bir şekilde biçimlendirilmiş.

Alan sonuçları, içeriği düzenledikten sonra eski gibi görünüyor. Alan, düzenlemeden sonra güncellenmedi. Call Update() belirli alanda, veya Document.UpdateFields() tüm alanları bir anda yenilemek için.

Başka bir belgeden gelen girişler derleme sırasında dahil edilmez. Hayır FieldRD belgeye referansın var olduğu, ya da IsPathRelative yolun çözülmesi gerektiği gibi eşleşmiyor. Bir FieldRD doğru FileName and IsPathRelative ayar.


Sıkça Sorulan Sorular

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

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

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

O konuma bir FieldXE alanı ekleyin ve Text özelliğini giriş metnine ayarlayın; FieldIndex belge içindeki tüm FieldXE işaretçilerini indeks sonucuna derler.

FieldTC ile başlık temelli bir TOC girdisi arasındaki fark nedir?

Word’ün varsayılan TOC davranışı, başlık stillerini kullanan paragraflardan girişleri toplar. FieldTC, paragraf stilinden bağımsız olarak rastgele bir konumu TOC girdisi olarak işaretler; bu, FieldToc tarafından EntryIdentifier/TypeIdentifier değerlerini eşleştirerek dahil edilebilir.

Belge değiştikten sonra bir TOC veya dizini nasıl yenilerim?

Belirli alanda Update()‘ı (veya sadece sayfa numaraları için bir FieldToc üzerinde UpdatePageNumbers()‘i) çağırın, ya da belge içindeki tüm alanları yenilemek için Document.UpdateFields()‘ı kullanın.

Bir TOC veya dizin birden fazla belge arasında derlenebilir mi?

Evet — FieldRD ekleyin ve FileName aracılığıyla her ek belgeye işaret edin. Derleme alanı (FieldToc, FieldIndex veya FieldToa) güncellendiğinde referans verilen belgelerden girişleri içerir.


Ayrıca Bakınız

 Türkçe