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

Свойства и методы объекта Font в python-docx

Объект Font используется для стилизации отдельных слов/символов в абзаце документа MS Word. Объект Font не создается вручную, а возвращается в результате вызова свойства Run.font.

Пример стилизации слов с использованием объекта Font.

from docx import Document
from docx.shared import Pt, RGBColor
from docx.enum.text import WD_UNDERLINE

# создание документа
doc = Document()
# задаем стиль текста по умолчанию
style = doc.styles['Normal']
style.font.name = 'Calibri'
style.font.size = Pt(14)
p = doc.add_paragraph('Пользовательское ')
# добавляем текст прогоном
run = p.add_run('форматирование ')
# Форматируем текст прогона
run.font.size = Pt(16)
run.font.italic = True
# добавляем еще текст прогоном
run = p.add_run('символов текста')
# Форматируем текст прогона
run.font.name = 'Arial'
run.font.size = Pt(18)
run.font.color.rgb = RGBColor(0, 0, 255)
run.font.bold = True
run.font.underline = WD_UNDERLINE.DOUBLE
# прогон без стиля
p.add_run(' в абзаце.')
doc.save('test.docx')

Описание объекта Run.

Объект Font представляет собой прокси-объект, оборачивающий XML элемент <w:rPr> документа MS Word, который предоставляет доступ к свойствам символов, таким как имя шрифта, его размер, цвет, стиль (жирный, курсив) и т.д.

Некоторые свойства объекта Font принимают три значения:

  • True - соответствуют включению свойства;
  • False - соответствуют выключению свойства;
  • None - означает, что действующее значение свойства берется/наследуется из иерархии стилей документа.

Объект Font не создается вручную, а предоставляются свойством Run.font.

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


Font.all_caps:

Свойство Font.all_caps - если установлено значение True, то текст в прогоне отображается заглавными буквами. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.bold:

Свойство Font.bold - если установлено значение True, то текст в прогоне отображается жирным шрифтом. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.color:

Свойство Font.color представляет собой объект ColorFormat, позволяющий получить или установить цвет текста для этого шрифта.

from docx.shared import Pt, RGBColor
...
...
run = paragraph.add_run('форматирование ')
run.font.color.rgb = RGBColor(0, 0, 255)

Font.complex_script:

Свойство Font.complex_script - если установлено значение True, то символы в прогоне обрабатываются как сложный сценарий независимо от их значений Unicode. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.cs_bold:

Свойство Font.cs_bold - если установлено значение True, то сложные символы сценария в прогоне отображаются жирным шрифтом. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.cs_italic:

Свойство Font.cs_italic - если установлено значение True, то сложные символы сценария в прогоне отображаются курсивным шрифтом. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.double_strike:

Свойство Font.double_strike - если установлено значение True, то текст в прогоне отображается с двойным зачеркиванием. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.emboss:

Свойство Font.emboss - если установлено значение True, то текст в прогоне будет выглядеть так, как будто он рельефно приподнят над страницей. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.hidden:

Свойство Font.hidden - если установлено значение True, то текст в прогоне будет скрыт от отображения, если только настройки MS Word не заставляют показывать скрытый текст. Свойство можно получить или установить.

Font.highlight_color:

Свойство Font.highlight_color представляет собой член перечисления WD_COLOR_INDEX, который указывает цвет выделения символов текста, или None, если выделение не применяется. Свойство можно получить или установить.

Font.imprint:

Свойство Font.imprint - если установлено значение True, то текст в прогоне выглядит так, как будто он вдавлен в страницу. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.italic:

Свойство Font.italic - если установлено значение True, то текст в прогоне выделяется курсивом. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.math:

Свойство Font.math - значение True указывает, что этот прогон содержит WML, который следует обрабатывать так, как если бы это была математика Office Open XML. Свойство можно получить или установить.

Font.name:

Свойство Font.name возвращает или устанавливает имя шрифта, например 'Arial'. Если соответствующий шрифт НЕ найден, то будет использоваться шрифт по умолчанию, заданный для всего документа MS Word. Значение None означает, что действующее значение унаследовано от иерархии стилей.

Font.no_proof:

Свойство Font.no_proof - значение True указывает, что содержимое этого прогона не должно сообщать об ошибках при сканировании документа на предмет орфографии и грамматики. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.outline:

Свойство Font.outline - если установлено значение True, то символы в прогоне выглядят так, как будто у них есть контур, путем рисования границы шириной в один пиксель вокруг внутренней и внешней границ каждого глифа символа. Свойство можно получить или установить. Значение None означает, что действующее значение унаследовано от иерархии стилей.

Font.shadow:

Свойство Font.shadow - значение True приводит к тому, что текст в прогоне отображается так, как будто у каждого символа есть тень. Свойство можно получить или установить. Значение None означает, что действующее значение унаследовано от иерархии стилей.

Font.size:

Свойство Font.size представляет собой значение Length или None, указывающее высоту шрифта в английских метрических единицах (EMU). Значение None означает, что размер шрифта должен быть унаследован от иерархии стилей. Свойство можно получить или установить.

Объект Length - это подкласс int, обладающий свойствами для удобного преобразования величин в пункты Pt или другие единицы длины.

>> font.size = Pt(24)
>> font.size
304800
>> font.size.pt
24.0

Font.small_caps:

Свойство Font.small_caps - если установлено значение True, то строчные символы в прогоне отображаются как заглавные буквы на два пункта меньше, чем размер шрифта, указанный для цикла. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.spec_vanish:

Свойство Font.spec_vanish - значение True указывает, что данный прогон всегда должен вести себя так, как если бы он был скрыт, даже если в текущем документе отображается скрытый текст. Свойство имеет очень узкое, специализированное назначение, связанное с оглавлением документа. Свойство можно получить или установить.

Font.strike:

Свойство Font.strike - если установлено значение True, то текст в прогоне будет выглядеть зачеркнутым. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.subscript:

Свойство Font.subscript - если установлено значение True, то символы прогона отображаются как нижний индекс. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.superscript:

Свойство Font.superscript - если установлено значение True, то символы прогона отображаются как верхний индекс. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.

Font.underline:

Свойство Font.underline может принимать None, True, False или значение из WD_UNDERLINE.

  • None - указывает на то, что прогон наследует значение подчеркивания содержащего абзаца, при этом удаляет все напрямую применяемые значения подчеркивания.
  • False - указывает на настройку прогона без подчеркивания, переопределяющую любое унаследованное значение.
  • True - указывает одинарное подчеркивание.
  • WD_UNDERLINE используются для определения других стилей подчеркивания, таких как двойное, волнистое и пунктирное и т.д.

Font.web_hidden:

Свойство Font.web_hidden - значение True указывает, что содержимое этого прогона должно быть скрыто при отображении документа в виде веб-страницы. Значение None означает, что действующее значение унаследовано от иерархии стилей. Свойство можно получить или установить.