使用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中下划线的使用方法
Mar 27 Python
python魔法方法-属性转换和类的表示详解
Jul 22 Python
python制作爬虫爬取京东商品评论教程
Dec 16 Python
python实现杨辉三角思路
Jul 14 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
Python中print函数简单使用总结
Aug 05 Python
Python实现word2Vec model过程解析
Dec 16 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
python Zmail模块简介与使用示例
Dec 19 Python
django上传文件的三种方式
Apr 29 Python
如何在pycharm中快捷安装pip命令(如pygame)
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中慎用双等于(==)的详解
2013/06/06 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
浅谈jquery选择器 :first与:first-child的区别
2016/11/20 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
jQuery实现本地存储
2020/12/22 jQuery
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
[03:10]2014DOTA2 TI马来劲旅Titan首战告捷目标只是8强
2014/07/10 DOTA
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
python实现一组典型数据格式转换
2018/12/15 Python
详解python播放音频的三种方法
2019/09/23 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
Python模块常用四种安装方式
2020/10/20 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
如何写一份好的自荐信
2014/01/02 职场文书
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
银行优秀员工事迹
2014/02/06 职场文书
股权转让协议书
2014/04/12 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
2014年个人思想工作总结
2014/11/27 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
浅谈Python数学建模之固定费用问题
2021/06/23 Python
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python