首页 > 编程 > Python > 正文

使用python-pptx包批量修改ppt格式的实现

2020-02-15 21:12:49
字体:
来源:转载
供稿:网友

最近实习需要对若干ppt进行格式上的调整,主要就是将标题的位置、对齐方式、字体等统一,人工修改又麻烦又容易错。

因此结合网上的pptx包资料,使用python脚本完成处理。

主要的坑点在于,shape的text_frame不能直接修改字体,甚至paragraph也不行,由于一个框里多个字体存在,它会报为“None”,需要进一步去run层修改。

from pptx import Presentationfrom pptx.enum.text import PP_ALIGNprs = Presentation('originalppt.pptx') #导入pptsthead=prs.slides[2].shapes[1] #以第3张ppt为标准标题格式print(sthead.text)stleft=sthead.leftstwidth=sthead.widthsttop=sthead.topstheight=sthead.height#进行逐个修改i=1for slide in prs.slides: for shape in slide.shapes: if shape.has_text_frame:  if 36000<shape.left<1200000 and shape.height<1400000:   ftname=(shape.text_frame.paragraphs[0].runs[0].font.name)   ftsize=int(shape.text_frame.paragraphs[0].runs[0].font.size.pt)   if (ftsize>27):   head=shape   head.left=stleft   head.top=sttop   head.width=10080000   head.height=stheight      head.text_frame.vertical_anchor = MSO_ANCHOR.MIDDLE   head.text_frame.paragraphs[0].line_spacing=1   for paragraph in head.text_frame.paragraphs:    for run in paragraph.runs:    run.font.size = 32*12700     run.font.name = '宋体'   #print(i,'ok') i +=1prs.save('adjnew.pptx') #保存修改后的ppt

以上这篇使用python-pptx包批量修改ppt格式的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表