Yapıtaşları

Yapı Blokları

Bu kılavuz, Aspose.Words FOSS for .NET ile bir belgenin sözlük belgesinde depolanan yeniden kullanılabilir içerik yapı bloklarını nasıl okuyup değiştireceğinizi gösterir. Kütüphane, Document.GlossaryDocument ve BuildingBlock/BuildingBlockCollection nesne modeli aracılığıyla AutoText girişlerini, kapak sayfalarını, üstbilgileri, altbilgileri ve benzeri önceden tanımlanmış içerikleri sunar.


Sözlük Belgesi

Her Document, Document.GlossaryDocument aracılığıyla erişilebilen bir GlossaryDocument taşır — bu da kendisi bir DocumentBase alt sınıfı olup yapı bloklarını tutar. Onun BuildingBlocks özelliği bir BuildingBlockCollection döndürür; FirstBuildingBlock/LastBuildingBlock ise listenin uçlarına hızlı erişim sağlar. Belirli bir yapı bloğunu GetBuildingBlock(gallery, category, name) ile arayın; bu, BuildingBlockGallery, kategori dizesi ve adı birlikte eşleştirir.


Yapı Bloğu Yapısı

BuildingBlock, bir CompositeNode olduğu için, kendi içerik ağacını — Sections (bir SectionCollection), FirstSection ve LastSection — aynı şekilde bir Document bölümleri tutar gibi tutar. Metaveri özellikleri onu tanımlar ve sınıflandırır: Name, Guid, Description, Category, Gallery (bir BuildingBlockGallery — AutoText, CoverPage, Headers, Footers, Tables, Watermarks ve daha onlarca önceden tanımlanmış galeri), Type (bir BuildingBlockType), ve Behavior (bir BuildingBlockBehavior — Content, Paragraph veya Page) içeriğinin bir belgeye eklenirken nasıl birleştirileceğini kontrol eder.


Yapı Blokları Koleksiyonunu Yönetme

BuildingBlockCollection tam koleksiyon düzenlemesini destekler: Add(node), Insert(index, node), Remove(node), RemoveAt(index), Clear(), Contains(node) ve IndexOf(node), ayrıca okuma için ToArray() ve GetEnumerator(). Çünkü bir NodeCollection olduğu için, yapı taşları aynı düğüm API’lerini kullanarak oluşturulabilir, kopyalanabilir ve taşınabilir; belge ağacının diğer herhangi bir bölümü gibi.


Yer Tutucu Metin Yapı Taşları

Yapılandırılmış belge etiketleri, bir yapı taşını yer tutucu içerik olarak referans alabilir: StructuredDocumentTag.Placeholder ve StructuredDocumentTagRangeStart.Placeholder etiket boş olduğunda gösterilen BuildingBlock‘yi, ortak IStructuredDocumentTag.Placeholder özelliği aracılığıyla döndürür.


İpuçları ve En İyi Uygulamalar

  • GetBuildingBlock(gallery, category, name)‘nin üç argümanını dikkatlice eşleştirin — aynı ad farklı galerilerde veya kategorilerde bulunabilir.
  • Yalnızca adla her yapı taşını taramak yerine, aradığınız yeniden kullanılabilir içeriğin türünü (AutoText, CoverPage, Tables, Watermarks vb.) filtrelemek için BuildingBlockGallery kullanın.
  • BuildingBlockBehavior, eklenen içeriğin çevre belgeyle nasıl birleştirileceğini (Content, Paragraph veya Page) belirler — bir yapı taşının beklediğiniz gibi ekleyeceğini varsamadan önce bunu kontrol edin.
  • BuildingBlock bir CompositeNode olduğu için, içeriğini oluştururken veya düzenlerken onu diğer herhangi bir düğüm alt ağacı gibi ele alın — AppendChild, InsertAfter ve benzeri düğüm yöntemleri hepsi geçerlidir.

Yaygın Sorunlar

SorunNedenDüzeltme
GetBuildingBlock() hiçbir şey döndürmezGaleri, kategori veya ad mevcut bir yapı bloğu ile tam olarak eşleşmiyorTam Gallery/Category/Name kombinasyonunu bulmak için GlossaryDocument.BuildingBlocks‘ı numaralandırın
Eklenen yapı bloğu içeriği beklenmedik şekilde birleştiriliyorBehavior (Content/Paragraph/Page) hesaba katılmadıEklemeden önce BuildingBlock.Behavior‘i kontrol edin, nasıl birleştirileceğini anlamak için
Yapılandırılmış belge etiketi yer tutucu beklenen içeriği göstermiyorPlaceholder, varsayılandan farklı bir BuildingBlock‘e işaret ediyorStructuredDocumentTag.Placeholder‘i okuyarak hangi yapı taşının gerçekten referans alındığını doğrulayın

FAQ

Bir belgede yapı taşları nerede depolanır?

Belgenin GlossaryDocument‘ında, Document.GlossaryDocument aracılığıyla erişilebilir ve BuildingBlocks özelliği bir BuildingBlockCollection.

Belirli bir yapı taşını, örneğin bir AutoText girişi olarak, nasıl bulabilirim?

GlossaryDocument.GetBuildingBlock(gallery, category, name)‘ı eşleşen BuildingBlockGallery, kategori ve ad ile çağırın.

Yeni yapı taşlarını programlı olarak ekleyebilir miyim?

Evet — BuildingBlockCollection, bir NodeCollection olduğu için Add(node) ve Insert(index, node) destekler.

BuildingBlockBehavior neyi kontrol eder?

Yapı bloğunun içeriği belgeye eklendiğinde — Content olarak, bir bütün Paragraph olarak ya da bir bütün Page olarak — nasıl birleştirilir.

Bir yapı bloğu, yapılandırılmış belge etiketinin yer tutucu metniyle nasıl ilişkilidir?

StructuredDocumentTag.Placeholder (ve StructuredDocumentTagRangeStart.Placeholder) boş olduğunda bir SDT’nin yer tutucu içeriğini sağlayan BuildingBlock‘yi döndürür.


API Reference Özeti

Sınıf / MetotAçıklama
Document.GlossaryDocumentBelgenin GlossaryDocument‘ı, tüm yapı taşlarını içerir
GlossaryDocument.BuildingBlocksBuildingBlockCollection her yapı bloğunun
GlossaryDocument.GetBuildingBlock()Galeriden, kategoriden ve isimden bir yapı bloğunu arar
BuildingBlockCompositeNode, Name, Gallery, Category, Behavior, Type, Sections içeren
BuildingBlockCollectionAdd(), Insert(), Remove(), Clear(), Contains(), IndexOf()
BuildingBlockGallery / BuildingBlockType / BuildingBlockBehaviorYapı bloğunu sınıflandıran enumlar
StructuredDocumentTag.PlaceholderSDT’nin yer tutucu içeriği olarak kullanılan BuildingBlock

Ayrıca Bakınız

 Türkçe