当前位置:  首页>> 技术小册>> Python与办公-玩转PPT

上面代码中获取的文本框是本来就已经存在页面上的,如果你想新建一个文本框,可以调用SlideShapes对象的add_textbox()方法。该方法的参数与add_shape()方法的参数差不多,只不过不用指定形状id了,比如说这里创建一个距离页面左边和上边都是3厘米,宽度是15厘米,高度是5厘米的文本框,代码如下:

  1. from pptx import Presentation
  2. from pptx.util import Cm
  3. ppt = Presentation()
  4. slide = ppt.slides.add_slide(ppt.slide_layouts[0])
  5. left = top = Cm(3)
  6. width = Cm(15)
  7. height = Cm(5)
  8. text_box = slide.shapes.add_textbox(left,top,width,height)
  9. print(type(text_box),text_box.shape_type)
  10. # 输出:<class 'pptx.shapes.autoshape.Shape'>TEXT_BOX (17)
  11. text_frame = text_box.text_frame
  12. print(type(text_frame))
  13. # 输出:<class 'pptx.text.text.TextFrame'>
  14. ppt.save("./ppt_ files/test.pptx")

调用add_textbox()方法得到是一个文本框类型的Shape,我们只要再访问一下它的text_frame属性就能获取到TextFrame对象了。


该分类下的相关小册推荐: