ParagraphFormat:Пример использования объекта форматирования абзаца ParagraphFormat документа MS Word.
import docx from docx.shared import Mm from docx.enum.text import WD_ALIGN_PARAGRAPH # создание документа doc = docx.Document() # Добавляем абзац p = doc.add_paragraph('Новый абзац.') # выравниваем абзац по центру p.alignment = WD_ALIGN_PARAGRAPH.CENTER # получаем объект форматирования fmt = p.paragraph_format # Форматируем: # отступ слева в мм fmt.first_line_indent = Mm(15) # отступ сверху в мм fmt.space_before = Mm(20) # отступ снизу в мм fmt.space_after = Mm(10) doc.add_paragraph('Еще новый абзац.') # а вот так можно получить значения # в нужных единицах измерения print('Интервал перед абзацем в сантиметрах:') print(' - в сантиметрах:', fmt.space_before.cm) space_before_mm = fmt.space_before.mm print(' - в миллиметрах:', fmt.space_before.mm) doc.save('test.docx')
ParagraphFormat.Объект ParagraphFormat модуля python-docx предоставляет доступ к форматированию абзацев документа MS Word, например выравниванию, отступу, межстрочному интервалу, пробелам до и после, отступу первого предложения абзаца ("Красная строка") и т.д.
Объект ParagraphFormat НЕ создается вручную, а возвращается свойством абзаца/параграфа Paragraph.paragraph_format.
ParagraphFormat.Эти свойства доступны как для чтения, так и для установки/присваивания им значений, если не указано иное.
ParagraphFormat.alignment выравнивания абзаца,ParagraphFormat.first_line_indent отступ первой строки абзаца,ParagraphFormat.keep_together не разрывать абзац,ParagraphFormat.keep_with_next сохранить следующий абзац на этой странице,ParagraphFormat.left_indent расстояние между левым полем и левой стороной абзаца,ParagraphFormat.line_spacing межстрочный интервал,ParagraphFormat.line_spacing_rule правила расчета межстрочного интервала,ParagraphFormat.page_break_before абзац вверху страницы после предыдущего абзаца,ParagraphFormat.right_indent расстояние между правым полем и правой стороной абзаца,ParagraphFormat.space_after интервал между этим и следующим абзацем,ParagraphFormat.space_before интервал между этим и предыдущим абзацем,ParagraphFormat.tab_stops доступ к позициям табуляции,ParagraphFormat.widow_control первая и последняя строки в абзаце на той же странице.ParagraphFormat.alignment:Свойство ParagraphFormat.alignment представляет собой член перечисления WD_PARAGRAPH_ALIGNMENT, определяющий настройку выравнивания для этого абзаца. Значение None указывает, что выравнивание абзаца унаследовано от иерархии стилей.
ParagraphFormat.first_line_indent:Свойство ParagraphFormat.first_line_indent возвращает/принимает значение Length, которое определяет относительную разницу в отступах для первой строки абзаца.
None означает, что отступ первой строки унаследован от иерархии стилей.ParagraphFormat.keep_together:Свойство ParagraphFormat.keep_together возвращает (или присвоить) True, если абзац необходимо сохранить "цельным", а не разрывать его на границе страницы при визуализации документа. Значение None означает, что его действующее значение унаследовано от иерархии стилей.
ParagraphFormat.keep_with_next:Свойство ParagraphFormat.keep_with_next возвращает (или присвоить) True, если абзац должен быть сохранен на той же странице, что и следующий абзац при отображении документа.
Например, это свойство можно использовать для сохранения заголовка раздела на той же странице, что и его первый абзац. Ни один из них не указывает на то, что его эффективное значение унаследовано от иерархии стилей.
ParagraphFormat.left_indent:Свойство ParagraphFormat.left_indent возвращает/принимает значение Length, которое определяет расстояние между левым полем и левой стороной абзаца. Значение None означает, что отступа слева унаследован от иерархии стилей.
Используйте объект значения Mm() как удобный способ установить отступ в миллиметрах.
ParagraphFormat.line_spacing:Свойство ParagraphFormat.line_spacing значение float или Length, определяющее расстояние между базовыми линиями в последовательных строках абзаца. Другими словами, межстрочный интервал.
Значение None указывает, что межстрочный интервал унаследован от иерархии стилей.Значение с плавающей запятой, например 2.0 или 1.75, указывает, что интервал применяется кратно высоте строки.Значение длины Length, такое как Pt(12), указывает, что интервал является фиксированной высотой в пунктах.
Класс значений Pt() - это удобный способ применения межстрочного интервала в пунктах.
ParagraphFormat.line_spacing_rule:Свойство ParagraphFormat.line_spacing_rule представляет собой член перечисления WD_LINE_SPACING, указывающий, как следует интерпретировать значение межстрочного интервала. Назначение любого из членов SINGLE, DOUBLE или ONE_POINT_FIVE приведет к обновлению наследуемого значения межстрочного интервала.
ParagraphFormat.page_break_before:Свойство ParagraphFormat.page_break_before возвращает (или присвоить) True, если абзац должен появиться вверху страницы после предыдущего абзаца. Значение None означает, что его действующее значение унаследовано от иерархии стилей.
ParagraphFormat.right_indent:Свойство ParagraphFormat.right_indent возвращает/принимает значение Length, которое определяет расстояние между правым полем и правой стороной абзаца. Значение None означает, что значение отступа справа унаследовано от иерархии стилей.
Используйте объект значения Cm, как удобный способ установить отступ в сантиметрах.
ParagraphFormat.space_after:Свойство ParagraphFormat.space_after возвращает/принимает значение Length, которое определяет интервал между этим и последующим абзацами. Значение None означает, что это значение унаследовано от иерархии стилей.
Объект Length предоставляет удобные свойства, такие как .mm и .cm, которые позволяют легко читать значения в различных единицах длины.
ParagraphFormat.space_before:Свойство ParagraphFormat.space_before возвращает/принимает значение Length, которое определяет интервал между этим и предыдущим абзацами.
Значение None означает, что это значение унаследовано от иерархии стилей.
ParagraphFormat.tab_stops:Свойство ParagraphFormat.tab_stops представляет собой объект TabStops, обеспечивающий доступ к позициям табуляции, определенным для этого формата абзаца.
ParagraphFormat.widow_control:Свойство ParagraphFormat.widow_control возвращает (или присвоить) True, если первая и последняя строки в абзаце остаются на той же странице, что и остальная часть абзаца, когда Word повторно создает документ.
Значение None означает, что его действующее значение унаследовано от иерархии стилей.