使用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目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
pip 错误unused-command-line-argument-hard-error-in-future解决办法
Jun 01 Python
python编程实现归并排序
Apr 14 Python
详解Python3.6的py文件打包生成exe
Jul 13 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
Python后台开发Django的教程详解(启动)
Apr 08 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
python3 常见解密加密算法实例分析【base64、MD5等】
Dec 19 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
Python性能分析工具py-spy原理用法解析
Jul 27 Python
Python基础知识学习之类的继承
May 31 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 和 MySQL 基础教程(一)
2006/10/09 PHP
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
brook javascript框架介绍
2011/10/10 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
[02:12]2015国际邀请赛 SHOWOPEN
2015/08/05 DOTA
Python标准库内置函数complex介绍
2014/11/25 Python
Python输出各行命令详解
2018/02/01 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
python中return如何写
2020/06/18 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
RetroStage德国:复古服装
2019/02/03 全球购物
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
应届生护士求职信
2013/11/01 职场文书
实习生个人的自我评价
2013/12/08 职场文书
办理护照介绍信
2014/01/16 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
计算机实训报告范文
2014/11/05 职场文书