使用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程序与C++程序的联合使用
Apr 07 Python
利用Fn.py库在Python中进行函数式编程
Apr 22 Python
Scrapy的简单使用教程
Oct 24 Python
详解tensorflow训练自己的数据集实现CNN图像分类
Feb 07 Python
Python中的TCP socket写法示例
May 11 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
python的reverse函数翻转结果为None的问题
May 11 Python
详解Python的爬虫框架 Scrapy
Aug 03 Python
python pip如何手动安装二进制包
Sep 30 Python
python 简单的调用有道翻译
Nov 25 Python
python音频处理的示例详解
Dec 23 Python
用基于python的appium爬取b站直播消费记录
Apr 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实现快钱支付功能(涉及到接口)
2013/07/01 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
JavaScript随机生成颜色的方法
2016/10/15 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
2018/05/04 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
python用插值法绘制平滑曲线
2021/02/19 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
PyTorch中permute的用法详解
2019/12/30 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
毕业实习个人鉴定范文
2013/12/10 职场文书
本科毕业生专业自荐书范文
2014/02/05 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
小学生常见病防治方案
2014/06/06 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
学生检讨书
2015/01/27 职场文书
初中家长意见
2015/06/03 职场文书
居住证明范文
2015/06/17 职场文书
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫