• python-pptx 实践 2 :添加文本框、设置字体、行距、实现自动换行


    说明:

      python-pptx 写入文本,如果没有换行符,默认是一行。要实现自动换行的效果,应该在适当的地方插入换行符。

    代码:

    # 加载库
    import  os
    from pptx import Presentation
    from pptx.util import Cm, Pt
    from pptx.enum.text import PP_ALIGN
    
    # 设置路径 work_path = r'E:pyspace mppptx' os.chdir(work_path) # 实例化 ppt 文档对象 prs = Presentation() # 插入幻灯片 blank_slide = prs.slide_layouts[6] slide_1 = prs.slides.add_slide(blank_slide) # 预设位置及大小 left = top = Cm(1) # left,top为相对位置 width = Cm(20) # width,height为文本框的大小 height = Cm(10) # 在指定位置添加文本框 textbox = slide_1.shapes.add_textbox(left, top, width, height) tf = textbox.text_frame # 在文本框中写入文字 ## 题目 para = tf.add_paragraph() # 新增段落 para.text = '我侬词' # 向段落写入文字 para.alignment = PP_ALIGN.CENTER # 居中 para.line_spacing = 1.5 # 1.5 倍的行距 ### 设置字体 font = para.font font.name = '微软雅黑' # 字体类型 font.bold = True # 加粗 font.size = Pt(32) # 大小 ## 作者 new_para = tf.add_paragraph() # 添加段落 new_para.text = ' 元 · 管道昇 ' # 段落文字 new_para.alignment = PP_ALIGN.CENTER # 居中 new_para.line_spacing = 1.5 # 1.5 倍的行距 ### 设置字体 font = new_para.font font.name = '微软雅黑' # 字体类型 font.size = Pt(18) # 大小 font.underline = False # 下划线 ## 分三行写入正文 ### 正文文本 s ='你侬我侬,忒煞情多;情多处,热如火;把一块泥,捻一个你,塑一个我,将咱两个一齐打碎,用水调和; 再捻一个你,再塑一个我。我泥中有你,你泥中有我;我与你生同一个衾,死同一个椁。' d = len(s)//3 + 1 ts = list(s) for i in range(3): ts.insert((i+1)*d - 2 + i, ' ') # 插入换行符 s = ''.join(ts) ### 写入正文 new_para = tf.add_paragraph() # 添加段落 new_para.text = s new_para.line_spacing = 1.5 # 1.5 倍的行距 # 保存 ppt prs.save('test.pptx')

    效果:

     

  • 相关阅读:
    el-table背景色透明
    判断数组对象里的属性值是否重复
    :Duplicate keys detected: 'xxx'. This may cause an update error.
    钉钉微应用附件下载方案
    探索JS引擎工作原理
    js深度优先遍历和广度优先遍历实现
    微前端qiankun从搭建到部署的实践
    浏览器与Node的事件循环(Event Loop)有何区别?
    JS
    微信小程序预览Word文档
  • 原文地址:https://www.cnblogs.com/shanger/p/13098558.html
Copyright © 2020-2023  润新知