使用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中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
python3.4.3下逐行读入txt文本并去重的方法
Apr 29 Python
Python3实现转换Image图片格式
Jun 21 Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 Python
使用 Python 实现微信群友统计器的思路详解
Sep 26 Python
python+rsync精确同步指定格式文件
Aug 29 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
Python类和实例的属性机制原理详解
Mar 21 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
Sep 28 Python
用Python提取PDF表格的方法
Apr 11 Python
Python Django 后台管理之后台模型属性详解
Apr 25 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数字运算验证码的实现代码
2015/07/30 PHP
学习php设计模式 php实现适配器模式
2015/12/07 PHP
php-msf源码详解
2017/12/25 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
微信小程序登录session的使用
2019/03/17 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
python实现逆波兰计算表达式实例详解
2015/05/06 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python双链表原理与实现方法详解
2020/02/22 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
java程序员面试交流
2012/11/29 面试题
中学生自我鉴定
2014/02/04 职场文书
少先队入队活动方案
2014/02/08 职场文书
模范家庭事迹材料
2014/02/10 职场文书
2014年迎新年活动方案
2014/02/19 职场文书
取保候审保证书
2014/04/30 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript