在for循环最后一行设置字体样式的时候,报错

from pptx import Presentation
from pptx.enum.shapes import MSO_AUTO_SHAPE_TYPE
from pptx.util import Pt

def create_shape():
    # 创建PPT文件
    ppt = Presentation()
    # 创建一个幻灯片
    slide = ppt.slides.add_slide(ppt.slide_layouts[5])
    # 获取形状对象
    shapes = slide.shapes
    shapes.title.text= '流程图'
    # 增加图形
    '''
    TypeError: _BaseGroupShapes.add_shape() missing 4 required positional arguments: 'left', 'top', 'width', and 'height'
    '''
    left = Pt(100)
    top = Pt(200)
    width = Pt(100)
    height = Pt(30)

    tmp_shape = shapes.add_shape(MSO_AUTO_SHAPE_TYPE.PENTAGON,left,top,width,height)
    tmp_shape.text = '第1步'

    for i in range(2,5):
        left =  left + width -Pt(10)
        ts = shapes.add_shape(MSO_AUTO_SHAPE_TYPE.CHEVRON,left,top,width,height)
        frame = ts.text_frame
        frame.text = f'第{i}步'
        frame.fit_text(max_size = 10,bold = True,italic = True)

    # 保存PPT文件
    ppt.save('./auto_ppt/create_data/04_增加图形.pptx')


if __name__ == '__main__':
    create_shape()

1.png

相关课程:Python 全系列> 第十四阶段:自动化操作办公软件、邮件、定时任务等>办公自动化>ppt_python增加图形

©2014-2023 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备13018289号-12    营业执照    经营许可证:京B2-20212637