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\tmp\pptx' 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 = '\t\t\t元 · 管道昇 ' # 段落文字 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, '\n') # 插入换行符 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')

效果:

 

posted @ 2020-02-08 02:14  赏尔  阅读(7825)  评论(0编辑  收藏  举报