设置文本的样式可以分为设置文本框的样式和设置文本本身的样式,我们先来讲一下后者吧,毕竟我们刚接触了比较熟悉的段落,气氛都烘托到这里了不学习一下就是不给面子。
设置文本的样式无非是设置段落的样式和Run的样式,对段落的样式应该还算熟悉吧。python-pptx的Paragraph对象主要有段落对齐、行间距、段前段后距离等相关属性,看一下代码吧:
from pptx import Presentation
from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT
from pptx.util import Pt
ppt = Presentation()
slide = ppt.slides.add_slide(ppt.slide_layouts[0])
shape = slide.shapes[0]
paragraph = shape.text_frame.paragraphs[0]
paragraph.clear() # 清空段落文本
paragraph.text = "Of fice遇到了Python\nOf fice meets Python"
# 段落对齐
paragraph.alignment = PP_PARAGRAPH_ALIGNMENT.LEFT # 居左对齐
# paragraph.alignment = PP_PARAGRAPH_ALIGNMENT.CENTER # 居中对齐
# paragraph.alignment = PP_PARAGRAPH_ALIGNMENT.RIGHT # 居右对齐
# paragraph.alignment = PP_PARAGRAPH_ALIGNMENT.JUSTIFY # 两端对齐
# paragraph.alignment = PP_PARAGRAPH_ALIGNMENT.DISTRIBUTE # 分散对齐
# 段落缩进等级
paragraph.level = 0 # 可选0~8,默认是0级
# 行间距
paragraph.line_spacing = 1.5 # 1.5倍行间距
# paragraph.line_spacing = Pt(50) # 固定值,50磅行间距
# 段前段后距离
paragraph.space_before = Pt(15) # 段前15磅
paragraph.space_after = Pt(20) # 段后20磅
ppt.save("./ppt_ files/test.pptx")
Paragraph对象的text属性控制文本,只要是字符串类型就行了,其他没什么需要注意的。Paragraph对象的alignment属性控制的是段落水平方向的对齐,垂直方向由TextFrame对象控制,这个我们后面再说。水平方向的对齐方式被定义在PP_PARAGRAPH_ALIGNMENT枚举类里,一共有7种,但这里只列举了最常用的五种。
Paragraph对象的level属性控制的是缩进等级,取值范围是0~8,一共9级,默认是顶级,也就是0级,段落缩进一般用在段落前使用项目符号列表等需要缩进的场景。Paragraph对象的line_spacing属性控制段落的行间距,你可以直接指定一个长度距离,比如说Pt(50),表示固定行间距为50磅,如果指定一个数字,就表示倍距,比如说赋值为1.5,表示1.5倍行间距。段前和段后距离分别用space_before和space_after属性控制,也没什么需要注意的,直接指定一个长度距离就行。