Сообщить об ошибке.

Класс Section() модуля python-docx в Python

Объект Section.

Объект Section не создается вручную и представляет собой раздел документа, обеспечивающий доступ к настройкам раздела и макета страницы. Он также обеспечивает доступ к верхним и нижним колонтитулам.

Объект Section возвращается свойством документа Document.sections[i], где i - это индекс секции/раздела в документе DOCX.

Синтаксис:

from docx import Document

# создание экземпляра документа
doc = Document()
# получение объекта первой секции:
section1 = doc.sections[0]
# добавление новой секции
doc.add_section()
# получение объекта второй секции:
section2 = doc.sections[1]

Примеры практического использования объекта Section смотрите в материале "Настройка/изменение макета документа".

Свойства объекта Section.


Section.bottom_margin:

Свойство Section.bottom_margin объект длины Length, представляющий нижнее поле для всех страниц в этом разделе в английских метрических единицах.

Section.different_first_page_header_footer:

Свойство Section.different_first_page_header_footer возвращает True, если в этом разделе отображаются отдельные верхний и нижний колонтитулы для первой страницы . Свойство можно читать и устанавливать.

Доступ к определению верхнего и нижнего колонтитула первой страницы осуществляется с помощью свойств Section.first_page_header и Section.first_page_footer соответственно.

Section.even_page_footer:

Свойство Section.even_page_footer представляет собой объект _Footer, определяющий содержимое нижнего колонтитула для четных страниц.

Содержимое нижнего колонтитула для четных страниц игнорируется, если для параметра документа odd_and_even_pages_header_footer=True.

Section.even_page_header:

Свойство Section.even_page_header представляет собой объект _Header, определяющий содержимое верхнего колонтитула для четных страниц.

Содержимое верхнего колонтитула для четных страниц игнорируется, если для параметра документа .odd_and_even_pages_header_footer=True.

Section.first_page_footer:

Свойство Section.first_page_footer представляет собой объект _Footer, определяющий содержимое нижнего колонтитула для первой страницы этого раздела.

Содержимое нижнего колонтитула для первой страницы раздела игнорируется, если для свойства Section.different_first_page_header_footer=True.

Section.first_page_header:

Свойство Section.first_page_header представляет собой объект _Header, определяющий содержимое верхнего колонтитула для первой страницы этого раздела.

Содержимое верхнего колонтитула для первой страницы раздела игнорируется, если для свойства Section.different_first_page_header_footer=True.

Section.footer:

Свойство Section.footer представляет собой объект _Footer, представляющий нижний колонтитул страницы по умолчанию для этого раздела.

Нижний колонтитул по умолчанию используется для страниц с нечетными номерами, когда включены отдельные нечетные/четные нижние колонтитулы. В противном случае он используется как для нечетных, так и для четных страниц.

Обратите внимание, что, как и ячейка документа или таблицы, колонтитул должен содержать минимум один абзац, следовательно новый/пустой заголовок уже содержит один пустой абзац. К этому первому абзацу можно получить доступ как header.paragraphs[0] с целью добавления к нему содержимого. Использование header.add_paragraph() для добавления содержимого приведет к тому, что над только что добавленным абзацем останется пустой (который имеется по умолчанию).

Примеры смотрите в материале "Настройка/изменение макета документа"

Колонтитулы имеют свои методы и свойства:
  • footer.add_paragraph(text='', style=None) - добавляет абзац в конец контейнера колонтитула, вставляя текст text за один проход, если он присутствует. Если style=None, то стиль абзаца не применяется, что имеет тот же эффект, что и применение стиля 'Normal'.
  • footer.add_table(rows, cols, width) - добавляет таблицу с параметрами переданными аргументам rows, cols, width. Ширина width равномерно распределяется между столбцами cols таблицы.
  • footer.is_linked_to_previous* - если в этом колонтитуле используется определение из предыдущего раздела, то возвращается True, в противном случае имеет четкое определение.
    • Присвоение True этому свойству удаляет определение верхнего и нижнего колонтитулов для этого раздела, в результате чего оно наследует соответствующее определение предыдущего раздела.
    • Присвоение значения False приводит к добавлению нового пустого определения для этого раздела, но только в том случае, если определение отсутствует.
  • footer.paragraphs* - список, содержащий абзацы в этом контейнере, в порядке их следования. Только для чтения.
  • footer.tables* - список, содержащий таблицы в этом контейнере, в порядке их следования. Только для чтения.

Section.footer_distance:

Свойство Section.footer_distance объект длины Length, представляющий расстояние от нижнего края страницы до нижнего края нижнего колонтитула. Имеет значение None, если в XML нет настройки.

Section.gutter:

Свойство Section.gutter объект длины Length, представляющий размер желоба страницы в английских метрических единицах для всех страниц в этом разделе. Желоб для страницы - это дополнительный интервал, добавленный к внутреннему краю, чтобы обеспечить ровные поля после привязки страницы.

Section.header:

Свойство Section.header представляет собой объект _Header, представляющий верхний колонтитул страницы по умолчанию для этого раздела.

Верхний колонтитул по умолчанию используется для страниц с нечетными номерами, если включены отдельные нечетные/четные заголовки. В противном случае он используется как для страниц с нечетными, так и четными номерами.

Обратите внимание, что, как и ячейка документа или таблицы, колонтитул должен содержать минимум один абзац, следовательно новый/пустой заголовок уже содержит один пустой абзац. К этому первому абзацу можно получить доступ как header.paragraphs[0] с целью добавления к нему содержимого. Использование header.add_paragraph() для добавления содержимого приведет к тому, что над только что добавленным абзацем останется пустой (который имеется по умолчанию).

Примеры смотрите в материале "Настройка/изменение макета документа".

Колонтитулы имеют свои методы и свойства:
  • header.add_paragraph(text='', style=None) - добавляет абзац в конец контейнера колонтитула, вставляя текст text за один проход, если он присутствует. Если style=None, то стиль абзаца не применяется, что имеет тот же эффект, что и применение стиля 'Normal'.
  • header.add_table(rows, cols, width) - добавляет таблицу с параметрами переданными аргументам rows, cols, width. Ширина width равномерно распределяется между столбцами cols таблицы.
  • header.is_linked_to_previous* - если в этом колонтитуле используется определение из предыдущего раздела, то возвращается True, в противном случае имеет четкое определение.
    • Присвоение True этому свойству удаляет определение верхнего и нижнего колонтитулов для этого раздела, в результате чего оно наследует соответствующее определение предыдущего раздела.
    • Присвоение значения False приводит к добавлению нового пустого определения для этого раздела, но только в том случае, если определение отсутствует.
  • header.paragraphs* - список, содержащий абзацы в этом контейнере, в порядке их следования. Только для чтения.
  • header.tables* - список, содержащий таблицы в этом контейнере, в порядке их следования. Только для чтения.

Section.header_distance:

Свойство Section.header_distance объект длины Length, представляющий расстояние от верхнего края страницы до верхнего края верхнего колонтитула. Имеет значение None, если в XML нет настройки.

Section.left_margin:

Свойство Section.left_margin объект длины Length, представляющий левое поле для всех страниц в этом разделе в английских метрических единицах.

Section.orientation:

Свойство Section.orientation представляет собой перечисление WD_ORIENTATION, определяющее ориентацию страницы для этого раздела. Может принимать одно из WD_ORIENT.PORTRAIT или WD_ORIENT.LANDSCAPE.

Section.page_height:

Свойство Section.page_height общая высота страницы, используемая для этого раздела, включая все значения расстояния между краями, такие как поля. Принимается во внимание ориентация страницы, поэтому, например, ее ожидаемое значение будет 8,5 дюймов для бумаги формата Letter, при альбомной ориентации.

Section.page_width:

Свойство Section.page_width общая ширина страницы, используемая для этого раздела, включая все значения расстояния между краями, такие как поля. Принимается во внимание ориентация страницы, поэтому, например, ее ожидаемое значение будет 11 дюймов для бумаги формата Letter, при альбомной ориентации.

Section.right_margin:

Свойство Section.right_margin объект длины Length, представляющий правое поле для всех страниц в этом разделе в английских метрических единицах.

Section.start_type:

Свойство Section.start_type представляет собой перечисление WD_SECTION_START, соответствующий поведению начального разрыва этого раздела, например WD_SECTION.ODD_PAGE, если раздел должен начинаться на следующей нечетной странице.

Section.top_margin:

Свойство Section.top_margin объект длины Length, представляющий верхнее поле для всех страниц в этом разделе в английских метрических единицах.