使用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深入学习之特殊方法与多范式
Aug 31 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
Jan 21 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
利用python打开摄像头及颜色检测方法
Aug 03 Python
django orm 通过related_name反向查询的方法
Dec 15 Python
用pycharm开发django项目示例代码
Jun 13 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
windows下Pycharm安装opencv的多种方法
Mar 05 Python
在python里使用await关键字来等另外一个协程的实例
May 04 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
Sep 21 Python
pytorch中的 .view()函数的用法介绍
Mar 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链接MySQL的常用扩展函数
2014/10/23 PHP
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
关于Vue单页面骨架屏实践记录
2017/12/13 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Python实现带百分比的进度条
2016/06/28 Python
Python如何生成树形图案
2018/01/03 Python
python删除服务器文件代码示例
2018/02/09 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
python 19个值得学习的编程技巧
2020/08/15 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
毕业生机械建模求职信
2013/10/14 职场文书
带病坚持工作事迹
2014/05/03 职场文书
运动会演讲稿50字
2014/08/25 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
车辆年检委托书范本
2014/10/14 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
装修公司管理制度
2015/08/05 职场文书
《我是什么》教学反思
2016/02/16 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python