使用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 文件和路径操作函数小结
Nov 23 Python
使用grappelli为django admin后台添加模板
Nov 18 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
python实现快速排序的示例(二分法思想)
Mar 12 Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 Python
numpy数组之存取文件的实现示例
May 24 Python
Django urls.py重构及参数传递详解
Jul 23 Python
Python对列表的操作知识点详解
Aug 20 Python
Python实现FLV视频拼接功能
Jan 21 Python
Python 列表中的修改、添加和删除元素的实现
Jun 11 Python
pytorch中的model=model.to(device)使用说明
May 24 Python
python爬取某网站原图作为壁纸
Jun 02 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
Cygwin中安装PHP方法步骤
2015/07/04 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
jquery 双色表格实现代码
2009/12/08 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
Python多线程编程(三):threading.Thread类的重要函数和方法
2015/04/05 Python
Python类属性与实例属性用法分析
2015/05/09 Python
简单的python后台管理程序
2017/04/13 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
python 5个顶级异步框架推荐
2020/09/09 Python
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
继电保护工岗位职责
2014/01/05 职场文书
百度吧主申请感言
2014/01/12 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
就业证明函
2015/06/17 职场文书
信息技术国培研修日志
2015/11/13 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
python实现高效的遗传算法
2021/04/07 Python
深入详解JS函数的柯里化
2021/06/09 Javascript