使用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编写一个简单的Lisp解释器的教程
Apr 03 Python
python实现根据用户输入从电影网站获取影片信息的方法
Apr 07 Python
python实现的文件同步服务器实例
Jun 02 Python
python实现快速排序的示例(二分法思想)
Mar 12 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
pygame游戏之旅 创建游戏窗口界面
Nov 20 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 Python
PyQt5 实现字体大小自适应分辨率的方法
Jun 18 Python
Python Web版语音合成实例详解
Jul 16 Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 Python
python3 logging日志封装实例
Apr 08 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
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
php多进程应用场景实例详解
2019/07/22 PHP
原生js实现日期联动
2015/01/12 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
对象转换为原始值的实现方法
2016/06/06 Javascript
AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
2016/11/03 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
Python实现简单的代理服务器
2015/07/25 Python
Python科学计算之Pandas详解
2017/01/15 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
python语音识别实践之百度语音API
2018/08/30 Python
用python解压分析jar包实例
2020/01/16 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
智能钱包:Ekster
2019/11/21 全球购物
怎样声明一个匿名的内部类
2016/06/01 面试题
计算机专业毕业生的自我评价
2013/11/18 职场文书
县优秀教师事迹材料
2014/01/31 职场文书
餐厅筹备计划书
2014/04/25 职场文书
综合实践活动报告
2015/02/05 职场文书
企业催款函范本
2015/06/24 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server