使用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实现颜色空间转换程序(Tkinter)
Dec 31 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
python开发环境PyScripter中文乱码问题解决方案
Sep 11 Python
解决Python 遍历字典时删除元素报异常的问题
Sep 11 Python
Apache如何部署django项目
May 21 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
django 环境变量配置过程详解
Aug 06 Python
python 3.6.7实现端口扫描器
Sep 04 Python
Django Form常用功能及代码示例
Oct 13 Python
python 实现图与图之间的间距调整subplots_adjust
May 21 Python
浅析Python实现DFA算法
Jun 26 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
一个简单的MySQL数据浏览器
2006/10/09 PHP
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
php array_walk() 数组函数
2011/07/12 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
JavaScript 对象模型 执行模型
2009/12/06 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
详解jquery和vue对比
2019/04/16 jQuery
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Python实现抢购IPhone手机
2018/02/07 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
新员工欢迎词
2014/01/12 职场文书
领导干部个人对照检查材料(群众路线)
2014/09/26 职场文书
齐云山导游词
2015/02/06 职场文书
实习生个人总结范文
2015/02/28 职场文书
初中美术教学反思
2016/02/17 职场文书
python神经网络ResNet50模型
2022/05/06 Python