如何更改python pptx对象的字体大小

时间:2019-01-31 15:38:40

标签: python python-pptx

我想更改标题和pptx演示文稿正文的字体大小。我试图通过data <- data.frame( Time= c("2018-01-01", "2018-01-02", "2018-01-03", "2018-01-04", "2018-01-05", "2018-01-06", "2018-01-07"), TEN= c(10,20,11,12,16,17,14) ) title_shape.font = Pt(15)进行设置,这是行不通的。

这是我的代码:

body_shape.font = Pt(10)

2 个答案:

答案 0 :(得分:0)

Shape对象不具有.font属性(至少直到您通过分配给该名称来添加对象时才如此):

FontRun对象的特征;运行是一系列字符,它们都共享相同的字符格式,也被称为 font

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

答案 1 :(得分:0)

这是一个对我有用的简单方法:

slide = prs.slides.add_slide(blank_slide_layout)
slide.shapes.title.text = "The Title of My Slide"
slide.shapes.title.text_frame.paragraphs[0].font.size = Pt(15)