Bölümlerle Çalışma

Bölümlerle Çalışmak

Bir Word belgesi bir veya daha fazla bölüme ayrılır; her birinin kendi sayfa düzeni, kenar boşlukları, üstbilgileri ve altbilgileri vardır. Aspose.Words FOSS için .NET bir bölümü şu şekilde temsil eder Section düğüm, içinde bir Body ve isteğe bağlı olarak üstbilgiler ve altbilgiler, ayrıca bir PageSetup bu, düzenini kontrol eder. Bu sayfa bölüm nesne modelini, sayfa düzenini, üstbilgileri ve altbilgileri ve çok sütunlu metin düzenini kapsar.


Bölüm Nesne Modeli

Document.Sections, bir SectionCollection döndürür – belgede bulunan her Section, her biri bir CompositeNode ve düğüm ağacının bir parçasıdır. Bir Section, bir Body içerir (bölümün ana paragraflarını ve tablolarını tutan bir Story) ve, mevcut olduğunda, Section.HeadersFooters aracılığıyla erişilebilen HeaderFooter düğümlerini, bir HeaderFooterCollection ile birlikte barındırır. Document.FirstSection ve Document.LastSection, sınır bölümlerine doğrudan erişim sağlar. Section.AppendContent(), PrependContent() ve ClearContent(), bir bölümün gövde içeriğini toplu olarak değiştirirken, ClearHeadersFooters() ve DeleteHeaderFooterShapes() başlık/dipnot içeriğini temizler.


Bölümler ve Bölüm Sonlandırıcıları Oluşturma

DocumentBuilder.InsertBreak(BreakType), imleçte bir sonlandırıcı ekler; BreakType, yeni bir bölüm başlatmak için SectionBreakNewPage, SectionBreakContinuous, SectionBreakNewColumn, SectionBreakEvenPage ve SectionBreakOddPage içerir, ayrıca bölüm dışı değerler PageBreak, ColumnBreak, LineBreak ve ParagraphBreak ile birlikte. DocumentBuilder.MoveToSection(), imleci belirli bir bölümün gövdesinin başına taşır. PageSetup.SectionStart, mevcut bir bölümde kaydedilmiş SectionStart sonlandırıcı türünü okur veya ayarlar.


Sayfa Ayarı

Section.PageSetup bir PageSetup örneğidir ve sayfa boyutları ve kenar boşluklarını kapsar (PageWidth, PageHeight, TopMargin, BottomMargin, LeftMargin, RightMargin, Gutter), Orientation ve PaperSize, ve kenar başına sayfa kenarları (Borders, BorderAppliesTo aracılığıyla PageBorderAppliesTo, BorderDistanceFrom aracılığıyla PageBorderDistanceFrom, BorderAlwaysInFront, BorderSurroundsHeader, BorderSurroundsFooter). Satır numaralandırması LineNumberRestartMode, LineNumberCountBy, LineNumberDistanceFromText ve LineStartingNumber tarafından kontrol edilir. PageSetup.ClearFormatting() varsayılanlara sıfırlar.


Üstbilgiler ve Altbilgiler

Section.HeadersFooters bir HeaderFooterCollection olup, tiplenmiş erişimciler sunar – HeaderPrimary, HeaderFirst, HeaderEven, FooterPrimary, FooterFirst, FooterEven – ve GetByHeaderFooterType(), Add() ve LinkToPrevious() ile birlikte. Her HeaderFooter bir Story (örneğin Body) olup, HeaderFooterType ile tanımlanır ve IsHeader / IsLinkedToPrevious olarak işaretlenir. PageSetup.DifferentFirstPageHeaderFooter ve PageSetup.OddAndEvenPagesHeaderFooter Word’ün birinci sayfa ve çift sayfa üstbilgi/altbilgi varyantlarını kullanmasını bekleyip beklemediğini kontrol eder.


Çoklu Metin Sütunları

PageSetup.TextColumns, bir TextColumnCollection (Count, EvenlySpaced, LineBetween, Spacing, Width) döndürür ve SetCount() ile bölümün gövdesini çoklu sütunlarda düzenler. Tek tek sütunlar, koleksiyon birden fazla sütunla doldurulduğunda TextColumn örnekleridir (Width, SpaceAfter).


İpuçları ve En İyi Uygulamalar

  • Bir bölüm sonu, bölümün biçimlendirmesini taşır follows bu – ayar PageSetup özellikler bir Section az önce oluşturduğunuz (sonra InsertBreak) kesintiden sonraki içeriği etkiler, öncekini etkilemez.
  • Yeni bir sayfa başlatmadan yalnızca sayfa ayarı değişikliği (örneğin, çoklu sütun metnine geçiş) gerektiğinde SectionBreakContinuous kullanın; yeni bölümün her zaman yeni bir sayfada başlaması gerektiğinde SectionBreakNewPage kullanın.
  • HeaderFooterCollection.LinkToPrevious() bir bölümün üstbilgi/altbilgisini önceki bölümün içeriğini devralacak şekilde yeniden bağlar – yeni üstbilgi/altbilgi içeriği yazmadan önce bunu yapın, yeni bölümün bir önceki bölümden bağımsız başlamasını istiyorsanız.
  • PageSetup.DifferentFirstPageHeaderFooter ve OddAndEvenPagesHeaderFooter yalnızca ilgili HeaderFooterType varyantları (HeaderFirst, HeaderEven vb.) Section.HeadersFooters içinde gerçekten mevcutsa etkili olur – bayrağı etkinleştirin ve ilgili üstbilgi/altbilgiyi birlikte ekleyin.
  • Section.Body ve her HeaderFooter ayrı Story örnekleridir – Range.Fields, yer imleri ve bölümün Body üzerindeki diğer aralık kapsamında yapılan işlemler otomatik olarak üstbilgi ve altbilgilerine ulaşmaz.

Yaygın Sorunlar

SorunSebepDüzeltme
Yeni bölümün sayfa ayarı, belirlediğimle eşleşmiyorPageSetup, yanlış Section örneğinde ayarlandıAyarla PageSetup bölümdeki follows kesintide, öncekinde değil
Önceki bölümün üstbilgi/altbilgi içeriği yeni bir bölümde beklenmedik şekilde görünürYeni bölümün üstbilgi/altbilgi öğeleri hâlâ önceki bölüme bağlıBağlantıyı kesmek için HeaderFooterCollection.LinkToPrevious(false)‘ı çağırın (veya ayrı bir üstbilgi/altbilgi içeriği ekleyin)
İlk sayfa ya da çift sayfa üstbilgi/altbilgisi yok sayılırDifferentFirstPageHeaderFooter / OddAndEvenPagesHeaderFooter false, ya da eşleşen HeaderFooterType varyantı mevcut değilBayrağı PageSetup üzerinde ayarlayın ve ilgili üstbilgi/altbilgi varyantının mevcut olduğundan emin olun.
Çok sütunlu düzen uygulanmaz.TextColumns.SetCount(), 1 sayısı ile çağrıldı veya yanlış bölümün PageSetup‘inde.Hedef bölümün PageSetup.TextColumns‘inde birden fazla sütunla SetCount()‘ı çağırın.

FAQ

Yeni bir sayfa açmadan yeni bir bölüme nasıl başlanır?

SectionBreakContinuous kesintisini DocumentBuilder.InsertBreak(BreakType.SectionBreakContinuous) ile ekleyin.

Bir bölüme kendi kenar boşluklarını ve yönünü nasıl veririm?

Bir bölüm sonlandırması ekleyin, ardından yeni bölümün PageSetup – TopMargin, BottomMargin, LeftMargin, RightMargin, Orientation ve PaperSize özelliklerini ayarlayın.

Bir bölümün ilk sayfasının farklı bir üstbilgi kullanmasını nasıl yaparım?

PageSetup.DifferentFirstPageHeaderFooter = true‘ı o bölümde ayarlayın ve HeadersFooters koleksiyonuna HeaderFirst türünde bir HeaderFooter (gerekirse FooterFirst) ekleyin.

Bir bölümün gövde metnini iki sütunda nasıl düzenlerim?

Bölüm üzerinde PageSetup.TextColumns.SetCount(2)‘ı çağırın, ardından gerektiği gibi Spacing ve EvenlySpaced / bireysel TextColumn.Width değerlerini ayarlayın.


API Reference Özeti

Sınıf / EnumAçıklama
SectionBir bölüm düğümü; Body, HeadersFooters, PageSetup
SectionCollectionBelgedeki her Section, Document.Sections aracılığıyla
Body / StoryBir bölüm (Body) veya üstbilgi/altbilgi (HeaderFooter) için ana içerik kapsayıcısı
PageSetupBir bölüm için sayfa boyutları, kenar boşlukları, yön, kenarlıklar ve sütunlar
HeaderFooter / HeaderFooterCollectionÜstbilgi/altbilgi içeriği ve bir bölüm için tiplenmiş erişiciler
HeaderFooterTypeBir HeaderFooter öğesinin hangi başlık/altbilgi varyantı (primary, first, even) olduğunu belirler
TextColumn / TextColumnCollectionBir bölüm için çok sütunlu metin düzeni
PaperSize / Orientation / MarginsSayfa boyutu, yönlendirme ve önceden ayarlanmış kenar boşluğu değerleri
PageBorderAppliesTo / PageBorderDistanceFromSayfa kenarlığının hangi sayfalara basıldığını ve referans kenarını
SectionStart / BreakTypeBir bölümde kaydedilen bölüm ayırma türü ve DocumentBuilder.InsertBreak() kabul ettiği ayırma türleri
LineNumberRestartModeOtomatik satır numaralandırması bir bölüm içinde yeniden başladığında

Ayrıca Bakınız

 Türkçe