利用python-pptx包批量修改ppt格式

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

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

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

首先安装 pptx :

pip install python-pptx

上代码:

from pptx import Presentationfrom pptx.enum.text import PP_ALIGN

prs = Presentation('originalppt.pptx') #导入pptsthead=prs.slides[2].shapes[1]  #以第3张ppt为标准标题格式print(sthead.text)
stleft=sthead.left
stwidth=sthead.width
sttop=sthead.top
stheight=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



免责声明:本站内收录的所有文章与图片资源均来自于互联网,其版权均归原作者及其网站所有.如果您对本站文章、图片资源的归属存有异议,请立即通知帝一博客(QQ:17762131),情况属实,我们会第一时间予以删除,并同时向您表示歉意!


您可以还会对下面的文章感兴趣:

  • 关于视频网站内容标题设置的提醒
  • 百度搜索引擎基础知识
  • 做一个网站多少钱
  • Intel i9-9900K销售火爆,货源紧俏,4999元买8核完全不亏!
  • 未建好页面应返回503状态码,防止被删除
  • 如何选购稳定免备案服务器?
  • 新王牌.wang域名低价风暴
  • 企业选择什么品牌的服务器最好?
  • 每天逛DEDECMS论坛的那点事
  • 禁止搜索引擎收录的方法