如何使用 python pptx 创建文本形状?

How to create a text shape with python pptx?

我想使用 python pptx 向演示文稿添加文本框。我想在特定位置添加一个包含几个段落的文本框,然后对其进行格式化(字体、颜色等)。但是由于文本形状对象总是在开头出现一个段落,所以我无法编辑我的第一个段落。代码示例如下所示:

txBox = slide.shapes.add_textbox(left, top, width, height)
tf = txBox.text_frame

p = tf.add_paragraph()
p.text = "This is a first paragraph"
p.font.size = Pt(11)

p = tf.add_paragraph()
p.text = "This is a second paragraph"
p.font.size = Pt(11) 

创建如下输出:

我可以使用 tf.text = "This is text inside a textbox" 将文本添加到第一行,但它无法在字体或颜色方面进行编辑。那么有什么办法可以省略或编辑该行,使框中的所有段落都相同吗?

以不同方式访问第一段,使用:

p = tf.paragraphs[0]

然后您可以添加运行、设置字体和所有其他操作,就像您从 tf.add_paragraph() 返回的段落一样。