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


Posted in Python onFebruary 14, 2020

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

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

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

from pptx import Presentation
from pptx.enum.text import PP_ALIGN

prs = Presentation('originalppt.pptx') #导入ppt

sthead=prs.slides[2].shapes[1] #以第3张ppt为标准标题格式
print(sthead.text)
stleft=sthead.left
stwidth=sthead.width
sttop=sthead.top
stheight=sthead.height

#进行逐个修改
i=1
for 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 +=1

prs.save('adjnew.pptx') #保存修改后的ppt

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

Python 相关文章推荐
Python中实现参数类型检查的简单方法
Apr 21 Python
详解Python的Django框架中的模版相关知识
Jul 15 Python
django1.8使用表单上传文件的实现方法
Nov 04 Python
python 寻找list中最大元素对应的索引方法
Jun 28 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
基于Python的图像数据增强Data Augmentation解析
Aug 13 Python
python并发编程 Process对象的其他属性方法join方法详解
Aug 20 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
Jul 30 Python
通过实例解析python subprocess模块原理及用法
Oct 10 Python
python 利用jieba.analyse进行 关键词提取
Dec 17 Python
python在不同条件下的输入与输出
Feb 13 #Python
深入浅析python的第三方库pandas
Feb 13 #Python
使用python的pyplot绘制函数实例
Feb 13 #Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
Feb 13 #Python
python输出pdf文档的实例
Feb 13 #Python
python打印文件的前几行或最后几行教程
Feb 13 #Python
Python创建空列表的字典2种方法详解
Feb 13 #Python
You might like
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
javascript时间函数大全
2014/06/30 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
js判断节假日实例代码
2017/12/27 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
金融专业求职信
2014/08/05 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
乒乓球比赛通知
2015/04/27 职场文书
解约证明模板
2015/06/19 职场文书
健康教育主题班会
2015/08/14 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript