使用python-pptx包批量修改ppt格式的实现
作者:六盘水月照 发布时间:2021-04-03 21:31:16
标签:python,pptx,ppt格式
最近实习需要对若干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
来源:https://www.cnblogs.com/oikoumene/p/11201864.html
0
投稿
猜你喜欢
- 前言本文简单总结了一下python中for循环的使用python中for循环一般用来迭代字符串,列表,元组等。当for循环用于迭代时不需要考
- 本文实例讲述了Python实现正弦信号的时域波形和频谱图。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-#
- 概述从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.条件查询我们可以使用关键词Where来指定条件, 用于插入, 修改删除或者查
- 本文实例讲述了php实现通过cookie换肤的方法。分享给大家供大家参考。具体如下:saveStyleSheet.php页面如下:<?
- 1、开发环境运行项目python mange.py runserver 0.0.0.0:80002、使用gunicorn在生产环境部署Gun
- 一、创建虚拟环境(1)打开cmd命令窗口(2)创建虚拟环境 conda create -n mydjango_env(3)查看虚拟环境 co
- 话不多说,小工具需求如下: 功能需求 -- 电脑开机后自动执行时间同步 非功能需求 -- 安装执行简单,无需安装额外环境一、代码实现基于以上
- 今天有业务需要制作用户头像的需求,在网上找了个可以裁剪大图制作自己希望大小的图片的方法(基于Struts2)。特此记录一下。不废话,具体的步
- 用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐怕是遇见最多的问题了,尤其是上传图片,比如你想要在
- 创意404页面的文章我们似乎已经出过两篇了,今天hongkiat又带来了60个创意404页面.相关404页面设计文章:国外404错误页面的创
- 通过?pandas.DataFrame.shift命令查看帮助文档Signature: pandas.DataFrame.shift(sel
- Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元
- 1.认识数组数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象Javascript不支持多维数组,但是因为数组里面可以包含对象(
- 1.外形尺寸尺寸单位:只用默认的像素或者其他字符类的值!,不要用英寸毫米之类的内容。btn = tkinter.Button(root,te
- 第一种方法:递归def perms(elements): if len(elements) <=1
- 前言上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例,并输出我们想要看到的信息。那么今天会讲解一下pyte
- 导读:《我不是药神》是由文牧野执导,徐峥、王传君、周一围、谭卓、章宇、杨新鸣等主演的喜剧电影,于 2018 年 7 月 6 日在中国上映。影
- 不知道大家有没有这样一个烦恼,“自己的电脑总是被别人使用,又不好意思设置密码”,所以利用python设计了一个程序来实现自由管控。功能虽然简
- 我们编写程序最终目的还是来解决实际问题,所以必然会遇到输入输出的交互问题,python中提供了input函数用来获取用户的输入,我们可以用以
- 阅读上一节:美化段落文本 Ⅰweb标准知识——美化段落文本 Ⅱ懒,可能是唯一解释为什么这么长时间才写这一篇的主要原因。不述详情,以此责心。上