zoukankan      html  css  js  c++  java
  • python-pptx 实践 4:添加形状、文本

    1、添加流程箭头

    # 加载库
    import  os
    from pptx import Presentation
    from pptx.util import Inches, Pt
    from pptx.enum.text import PP_ALIGN
    from pptx.enum.shapes import MSO_SHAPE
    from pptx.dml.color import RGBColor# 设置路径
    work_path = r'E:pyspace	mppptx'
    os.chdir(work_path)
    
    # 实例化 ppt 文档对象
    prs = Presentation()
    
    # 插入幻灯片
    title_only_slide = prs.slide_layouts[5]
    slide_1 = prs.slides.add_slide(title_only_slide)
    
    shapes = slide_1.shapes
    shapes.title.text = '煮鸡蛋的步骤'
    
    left = Inches(0.7)   
    top = Inches(2)
    width = Inches(2)
    height = Inches(1)
    
    for n in range(1, 6):
        # 添加箭头形状
        shape = shapes.add_shape(autoshape_type_id=MSO_SHAPE.CHEVRON,    # v 形箭头
                                 left=left,
                                 top=top,
                                 width=width,
                                 height=height)
        shape.text = 'Step %d' % n    # 文本颜色默认为白色,位于形状中心
        
        # 添加文本框
        textbox = shapes.add_textbox(left=left,
                                     top=top+height+Inches(0.3),
                                     width=width,
                                     height=Inches(4)
                                   )
        tf = textbox.text_frame
        para = tf.add_paragraph()
        para.text = 'do
    
    
     something'
        para.alignment = PP_ALIGN.CENTER  # 居中
        # 设置字体属性
        font = para.font
        font.size = Pt(24)    # 大小
        font.name = 'Arial'    # 字体
        font.bold = True    # 加粗
        font.italic = True  # 倾斜
        font.color.rgb = RGBColor(225, 225, 0)  # 黄色
        
        # 更新位置参数
        left = left + width - Inches(0.3)
    
    # 保存 ppt
    prs.save('test.pptx')

    效果:

     

     35 种不同 autoshape_type_id 参数对应的形状

    1、autoshape_type_id= MSO_SHAPE.ARC

    2、 autoshape_type_id= MSO_SHAPE.BALLOON

    3、autoshape_type_id= MSO_SHAPE.BEVEL

    4、autoshape_type_id= MSO_SHAPE.CAN

    5、autoshape_type_id= MSO_SHAPE.CHEVRON

    6、autoshape_type_id= MSO_SHAPE.CHORD

    7、autoshape_type_id= MSO_SHAPE.CLOUD

    8、autoshape_type_id= MSO_SHAPE.CLOUD_CALLOUT

     9、autoshape_type_id= MSO_SHAPE.CUBE

     10、 autoshape_type_id= MSO_SHAPE.CURVED_DOWN_RIBBON

      11、autoshape_type_id= MSO_SHAPE.CURVED_UP_RIBBON

    12、autoshape_type_id= MSO_SHAPE.DECAGON

    13、autoshape_type_id= MSO_SHAPE.DIAMOND

    14、autoshape_type_id= MSO_SHAPE.DOUBLE_WAVE

      15、autoshape_type_id= MSO_SHAPE.DOWN_ARROW

     16、autoshape_type_id= MSO_SHAPE.EXPLOSION1

    17、autoshape_type_id= MSO_SHAPE.FLOWCHART_CONNECTOR

    18、autoshape_type_id= MSO_SHAPE.FLOWCHART_DECISION

     19、autoshape_type_id= MSO_SHAPE.FLOWCHART_DIRECT_ACCESS_STORAGE

     20、autoshape_type_id= MSO_SHAPE.FLOWCHART_DOCUMENT

     21、 autoshape_type_id= MSO_SHAPE.FLOWCHART_MAGNETIC_DISK

     22、autoshape_type_id= MSO_SHAPE.FLOWCHART_MULTIDOCUMENT

     23、autoshape_type_id= MSO_SHAPE.FLOWCHART_PUNCHED_TAPE

    24、autoshape_type_id= MSO_SHAPE.FLOWCHART_STORED_DATA

     25、autoshape_type_id= MSO_SHAPE.FUNNEL

     26、autoshape_type_id= MSO_SHAPE.HEART

    27、autoshape_type_id= MSO_SHAPE.MOON

    28、autoshape_type_id= MSO_SHAPE.OVAL

     29、autoshape_type_id= MSO_SHAPE.OVAL_CALLOUT

    30、autoshape_type_id= MSO_SHAPE.SMILEY_FACE

    31、autoshape_type_id= MSO_SHAPE.STAR_5_POINT

     32、autoshape_type_id= MSO_SHAPE.STAR_6_POINT

    33、autoshape_type_id= MSO_SHAPE.SUN

     34、 autoshape_type_id= MSO_SHAPE.TEAR

      35、autoshape_type_id= MSO_SHAPE.WAVE

     

  • 相关阅读:
    PRCR-1065 Failed to stop resource ora.asm 处理
    在Oracle Linux上使用DTrace的相关指导
    Oracle Listener日志位置及压缩转移
    oracle数据库解析json格式
    surge for mac出测试版本了
    Oracle 12C RAC的optimizer_adaptive_features造成数据插入超时
    Oracle执行语句跟踪(2)——使用10046事件实现语句追踪
    在Linux上使用web2py_uwsgi_nginx搭建web服务器
    Windows server上rsync的安装和使用
    Hook原理--逆向开发
  • 原文地址:https://www.cnblogs.com/shanger/p/13100034.html
Copyright © 2011-2022 走看看