Робота з секціями
Іноді ви хочете документ, який не має однакового форматування на всіх сторінках. Наприклад, ви можете змінити формати номерів сторінок, мати різний розмір сторінки та орієнтацію, або мати першу сторінку документа, як сторінка кришки без будь-якого номера. Ви можете досягти цього з секціями.
Секції - це рівні вузли, які контрольні заголовки та піддони, спрямованість, стовпчики, поля, форматування номерів сторінок та інші.
Aspose.Words дозволяє керувати розділами, розділяти документ на розділи, а також здійснювати форматування змін, які застосовуються тільки до певного розділу. Aspose.Words зберігає інформацію про форматування розділів, таких як заголовки та піддони, налаштування сторінок та налаштування стовпців в розділі.
У статті описано, як працювати з розділами та перервами секцій.
Які розділи та розділи
Зрізи документів представлені Section і SectionCollection класи. Секційні об’єкти негайні діти Document Доступ до вузла і можна отримати через Sections майно. Ви можете керувати такими вузлами, використовуючи деякі методи, такі як Remove, Add, IndexOf, та інші.
Роздільна перерва - це варіант, який розділяє сторінки документів на розділи з настройованими макетами.
Види секцій
Aspose.Words дозволяє розбити та форматувати документи за допомогою різних розділів BreakType заохочення:
- СекціяБреакКонтинуус
- СекціяБреакНовіКолумн
- СекціяБреакNewPage
- СекціяБреакЗвениПадж
- СекціяБреакОдддДП
Ви також можете використовувати SectionStart оберіть тип перерви, який застосовується тільки для першого розділу, таких як NewColumn, NewPage, Вечір і OddPage.
Управління секцією
Так як секція є нормальною композитною вершиною, вся маніпуляція вузлів API можна використовувати для маніпуляції секцій: для додавання, видалення та інших операцій на секціях. Детальніше про вузли в статті Aspose.Words Document Object Model (DOM)й
З іншого боку, ви також можете використовувати DocumentBuilder
API працювати з секціями. У цій статті ми зосередимося на такому конкретному шляху роботи з розділами.
Вставити або видалити перерву секція
Aspose.Words дозволяє вставляти перерву в текст за допомогою InsertBreak метод.
Приклад коду показує, як вставити перерву розділу в документ:
Використання Remove спосіб видалити перерву розділу. Якщо ви не повинні видалити конкретну перерву розділу і замість видалення вмісту цього розділу, ви можете використовувати ClearContent метод.
Приклад коду показує, як видалити перерву секцій:
Перемістити розділ
Якщо ви хочете перемістити розділ з одного положення в інший документ, вам потрібно отримати індекс цього розділу. Aspose.Words дозволяє отримати позицію з розділу SectionCollectionй Ви можете використовувати Sections отримайте всі розділи в документі. Але якщо ви хочете отримати тільки перший розділ, ви можете використовувати FirstSection майно.
Наприклад, наступний код показує, як отримати доступ до першого розділу і протерти через дітей композитного вузла:
Вкажіть розділ Layout
Якщо ви хочете, щоб ваш документ краще виглядати, зробивши творчі макети для різних розділів документів. Якщо ви хочете вказати тип сітки поточного розділу, ви можете вибрати режим макета розділу за допомогою SectionLayoutMode заохочення:
- За замовчуванням
- Сітка
- Лінія
- SnapToChars
Приклад коду показує, як обмежити кількість рядків, які кожна сторінка може мати:
Редагування розділу
Коли ви додаєте новий розділ до вашого документа, немає тіла або пункту, який ви можете редагувати. Aspose.Words дозволяє гарантувати, що розділ містить тіло з принаймні одним абзацом, використовуючи EnsureMinimum метод – він автоматично доповнить вузол Body (або HeaderFooter) до документа, а потім додасть параметр до нього.
Приклад наступного коду показує, як підготувати новий вузол розділу за допомогою EnsureMinimum:
Додаток або попередній контент
Якщо ви хочете малювати певну форму або додати текст або зображення на початку/кінець розділу, ви можете використовувати AppendContent і PrependContent методи Section клас.
Приклад коду показує, як застосувати вміст існуючого розділу:
Клон секція
Aspose.Words дозволяє дублювати розділ, створивши повну копію його за допомогою deepClone метод.
Приклад коду показує, як клонувати перший розділ у документі:
Копіювати розділи між документами
У деяких випадках ви можете мати великі документи з багатьма розділами, і ви хочете копіювати вміст розділу з одного документа в інший.
Aspose.Words дозволяє копіювати розділи між документами ImportNode метод.
Приклад коду показує, як копіювати розділи між документами:
Робота з головуванням секцій та нижній колонтитул
Основні правила відображення заголовка або нижній колонтитул для кожного розділу досить прості:
1,1 км Якщо секція не має власних голів / ботів певного типу, то вона береться з попереднього розділу. 2,2 км Тип заголовка / нижній колонтитула, що відображається на сторінці, здійснюється за допомогою розділу “Different First Page” та “Different Odd & Навіть сторінки” - якщо вони вимкнені, то заголовки розділу ігноруються.
Приклад коду показує, як створити 2 розділи з різними заголовками:
Якщо ви хочете видалити текст заголовків і нижніх колонок без видалення HeaderFooter об’єкти в документі, ви можете використовувати ClearHeadersFooters метод. Крім того, можна використовувати DeleteHeaderFooterShapes спосіб видалити всі форми з заголовків та піддонів у документі.
Приклад коду показує, як очистити вміст всіх заголовків і нижніх колонок в розділі:
Приклад наступного коду, як видалити всі форми з усіх нижніх колонок в розділі:
Налаштування властивостей сторінок в розділі
Перед тим як друкувати сторінку або документ, який ви можете налаштувати і змінити розмір і макет однієї сторінки або цілого документа. З налаштуванням сторінки ви можете змінити налаштування сторінок документів, таких як поля, орієнтація та розмір для друку різних сторінок або непарних сторінок.
Aspose.Words дозволяє налаштовувати властивості сторінок та розділів за допомогою PageSetup клас.
Приклад коду показує, як встановити такі властивості, як розмір сторінки та спрямованість на поточний розділ:
Приклад коду показує, як змінити властивості сторінок у всіх розділах: