Práce se sekcemi

Někdy chcete dokument, který nemá stejné formátování na všech stránkách. Možná budete muset například upravit formáty čísel stránek, mít jinou velikost a orientaci stránky nebo mít první stránku dokumentu jako titulní stránku bez jakéhokoli číslování. Můžete toho dosáhnout pomocí sekcí.

Sekce jsou uzly úrovně, které řídí záhlaví a zápatí, orientaci, sloupce, okraje, formátování čísla stránky a další.

Aspose.Words umožňuje spravovat oddíly, rozdělit dokument na oddíly a provádět změny formátování, které se vztahují pouze na konkrétní sekci. Aspose.Words ukládá informace o formátování oddílů, jako jsou záhlaví a zápatí, nastavení stránky a nastavení sloupců do konce oddílů.

Tento článek vysvětluje, jak pracovat s oddíly a zlomy sekcí.

Jaký úsek a konec úseku je

Sekce dokumentů jsou reprezentovány třídami Section a SectionCollection. Objekty sekce jsou bezprostředními podřízenými uzlu Document a lze k nim přistupovat pomocí vlastnosti Sections. Tyto uzly můžete spravovat pomocí některých metod, například Remove, Add, IndexOf, a další.

Konec oddílu je možnost, která rozděluje stránky dokumentu na sekce s přizpůsobitelnými rozvrženími.

Typy přerušení sekce

Aspose.Words umožňuje rozdělit a formátovat dokumenty pomocí různých konců oddílů výčtu BreakType:

  • SectionBreakContinuous
  • SectionBreakNewColumn
  • SectionBreakNewPage
  • SectionBreakEvenPage
  • SectionBreakOddPage

Můžete také použít výčet SectionStart k výběru typu přerušení, který platí pouze pro první část, například NewColumn, NewPage, EvenPage, a OddPage.

Správa sekce

Protože sekce je normální složený uzel, lze k manipulaci se sekcemi použít celou manipulaci s uzlem API: Přidat, Odebrat a další operace v sekcích. Více o uzlech si můžete přečíst v článku Aspose.Words Model Objektu Dokumentu (DOM).

Na druhou stranu můžete také použít DocumentBuilder API pro práci se sekcemi. V tomto článku se zaměříme na tento konkrétní způsob práce se sekcemi.

Vložení nebo odebrání konce oddílu

Aspose.Words umožňuje vložit konec oddílu do textu pomocí metody InsertBreak.

Následující příklad kódu ukazuje, jak vložit konec oddílu do dokumentu:

Pomocí metody Remove Odstraňte konec oddílu. Pokud nepotřebujete odstranit konkrétní konec oddílu a místo toho odstranit obsah této sekce, můžete použít metodu ClearContent.

Následující příklad kódu ukazuje, jak odstranit konce oddílů:

Přesunout sekci

Pokud chcete v dokumentu přesunout sekci z jedné pozice na druhou, musíte získat index této sekce. Aspose.Words umožňuje získat pozici sekce z SectionCollection. K získání všech oddílů v dokumentu můžete použít vlastnost Sections. Pokud však chcete získat pouze první sekci, můžete použít vlastnost FirstSection.

Následující příklad kódu ukazuje, jak přistupovat k první sekci a iterovat prostřednictvím podřízených složeného uzlu:

Určení rozložení sekce

Někdy chcete, aby váš dokument vypadal lépe vytvořením kreativních rozvržení pro různé sekce dokumentů. Pokud chcete určit typ aktuální mřížky sekce, můžete zvolit režim rozvržení sekce pomocí výčtu SectionLayoutMode:

  • Default
  • Mřížka
  • LineGrid
  • SnapToChars

Následující příklad kódu ukazuje, jak omezit počet řádků, které může mít každá stránka:

Upravit sekci

Když do dokumentu přidáte nový oddíl, nebude existovat žádné tělo ani odstavec, který byste mohli upravit. Aspose.Words umožňuje zaručit, že sekce obsahuje tělo s alespoň jedním odstavcem pomocí metody EnsureMinimum – automaticky přidá do dokumentu uzel Body (nebo HeaderFooter) a poté do něj přidá odstavec.

Následující příklad kódu ukazuje, jak připravit nový uzel sekce pomocí EnsureMinimum:

Připojit nebo připravit obsah

Pokud chcete nakreslit nějaký tvar nebo přidat text nebo obrázek na začátek/konec sekce, můžete použít metody AppendContent a PrependContent třídy Section.

Následující příklad kódu ukazuje, jak připojit obsah existující sekce:

Klonování sekce

Aspose.Words umožňuje duplikovat sekci vytvořením její úplné kopie pomocí metody Clone.

Následující příklad kódu ukazuje, jak klonovat první část dokumentu:

Kopírování sekcí mezi dokumenty

V některých případech můžete mít velké dokumenty s mnoha oddíly a chcete zkopírovat obsah oddílu z jednoho dokumentu do druhého.

Aspose.Words umožňuje kopírovat oddíly mezi dokumenty pomocí metody ImportNode.

Následující příklad kódu ukazuje, jak kopírovat oddíly mezi dokumenty:

Práce s hlavičkou a zápatí sekce

Základní pravidla pro zobrazení záhlaví nebo zápatí pro každou sekci jsou poměrně jednoduchá:

  1. Pokud sekce nemá vlastní záhlaví / zápatí určitého typu, je převzata z předchozí sekce.
  2. Typ záhlaví / zápatí zobrazený na stránce je řízen nastavením sekce" různé první stránky “a” různé liché a sudé stránky " – pokud jsou deaktivovány, pak jsou ignorovány vlastní názvy sekce.

Následující příklad kódu ukazuje, jak vytvořit 2 sekce s různými záhlaví:

Pokud chcete odstranit text záhlaví a zápatí bez odstranění objektů HeaderFooter v dokumentu, můžete použít metodu ClearHeadersFooters. Kromě toho můžete pomocí metody DeleteHeaderFooterShapes Odebrat všechny tvary ze záhlaví a zápatí v dokumentu.

Následující příklad kódu ukazuje, jak vymazat obsah všech záhlaví a zápatí v sekci:

Následující příklad kódu, jak odstranit všechny obrazce ze všech záhlaví zápatí v oddílu:

Přizpůsobení vlastností stránky v sekci

Před tiskem stránky nebo dokumentu můžete upravit a upravit velikost a rozložení jedné stránky nebo celého dokumentu. Pomocí nastavení stránky můžete změnit nastavení stránek dokumentu, jako jsou okraje, orientace a velikost pro tisk různých prvních stránek nebo lichých stránek.

Aspose.Words umožňuje přizpůsobit vlastnosti stránky a sekce pomocí třídy PageSetup.

Následující příklad kódu ukazuje, jak nastavit takové vlastnosti, jako je velikost stránky a orientace pro aktuální sekci:

Následující příklad kódu ukazuje, jak upravit vlastnosti stránky ve všech sekcích:

Vidět