A Shape
объект не имеет атрибута .font
(по крайней мере, его не было, пока вы не добавили его, присвоив этому имени:)
Font
характерно для Run
объект;цикл - это последовательность символов, которые имеют одинаковое форматирование символов, также широко известное как шрифт .
A Paragraph
объект также имеет .font
свойство, которое используется таким же образом, но которое определяет шрифт по умолчанию для прогонов в абзаце.Отдельные прогоны в этом абзаце могут переопределить это значение по умолчанию, установив атрибуты своего собственного объекта шрифта.
Если вам нужен только один шрифт для фигуры (что является распространенным), вероятно, самый быстрый способ:
shape.text_frame.paragraphs[0].font.size = Pt(15)
, который работает, потому что большинство фигур содержат только один абзац (и все должны содержать хотя бы один).
Более подробным будет:
for paragraph in shape.text_frame.paragraphs:
paragraph.font.size = Pt(15)
, а более подробным будетбыть:
for paragraph in shape.text_frame.paragraphs:
for run in paragraph.runs:
run.font.size = Pt(15)
Подробнее об этом в документации здесь:
https://python -pptx.readthedocs.io / en / latest / user / text.html