如果想要设置段落中某些文本的样式,就需要修改段落的Run属性了。把一个段落按照不同的样式分割成几个部分,每一个部分都是一个Run,只要文本样式不同,就是两个不同的Run,但文本样式相同却不一定是同一个Run,这个我们已经在python-docx中接触过了,就不多解释了。现在来操作Run,代码如下:
from pptx import Presentation
from pptx.dml.color import RGBColor
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.add_run().text = "Of fice"
paragraph.add_run().text = "遇上了"
run = paragraph.add_run()
run.text = "Python"
run.font.name = "微软雅黑" # 字体名
run.font.size = Pt(50) # 字体大小
run.font.bold = True # 是否加粗
run.font.italic = True # 是否斜体
run.font.underline = True # 是否下画线
run.font.color.rgb = RGBColor.from_string("0000ff") # 字体颜色
run.hyperlink.address = 'https://python.org' # 设置超链接
# 除了最后一个Run,其他的Run统一设置为黑体、45磅大小
for run in paragraph.runs[:-1]:
run.font.name = "黑体"
run.font.size = Pt(45)
ppt.save("./ppt_ files/test.pptx")
Run对象的text属性控制文本内容,可以通过该属性获取或修改Run文本,但是要特别注意,赋值的时候要给它一个字符串。之前提到段落和文本框等对象的text属性只能存储字符串,就是因为它们实际操作的就是Run的text属性。
Run对象的hyperlink属性可以指定一个超链接,python-docx是没有这个功能的,设置超链接就是给文本指定一个网址,当播放幻灯片的时候点击一下该文本就会跳转到指定网址。Run对象还有一个font属性,对应的是一个Font对象,可以控制文本的字体样式,比如说字体名、大小、粗体、斜体、下画线、颜色等。
经过对比,我们发现python-pptx的Paragraph对象和Run对象的知识点与pythondocx中的知识点基本一致,读者掌握起来应该没什么难度,至于具体要把文档的样式修改成什么样就看实际情况了。