使用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
以上这篇使用python-pptx包批量修改ppt格式的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python pptx复制指定页的ppt教程
如题,我有一个模板,我想根据需求复制模板中间的某一页多次,比如复制第五页,然后复制3次,那么第六页,第七页,第八页都是和第五页一模一样的ppt,次数是根据我的需求指定的,使用python pptx模块复制,可是不知道有没有相应的方法能实现,我用以下方法行不通: prs = Presentation("Missed Assessment Rate Template.pptx") slide = prs.slides.add_slide(prs.slide_layouts[5]) prs.
-
python使用python-pptx删除ppt某页实例
公司安排了个任务,爬取ppt资源,我爬取后打开ppt发现,最后一页是站点的宣传,需要删除. 仔细阅读了python-pptx的api和国内的教程,发现没有人写了关于删除ppt中某页的功能,所以科学上网去google上搜了一下,发现作者已经实现了,下来贴上如何删除 from pptx import Presentation # 读取ppt prs = Presentation('./temp.pptx) # 查看一共几页 slides = prs.slides number_pages = len
-
基于python-pptx库中文文档及使用详解
个人使用样例及部分翻译自官方文档,并详细介绍chart的使用 一:基础应用 1.创建pptx文档类并插入一页幻灯片 from pptx import Presentation prs = Presentation() slide = prs.slides.add_slide(prs.slide_layouts[1]) # 对ppt的修改 prs.save('python-pptx.pptx') prs.slide_layouts中一共预存有1-48种,采用第六种为空白幻灯片 例slide_lay
-
使用python-pptx包批量修改ppt格式的实现
最近实习需要对若干ppt进行格式上的调整,主要就是将标题的位置.对齐方式.字体等统一,人工修改又麻烦又容易错. 因此结合网上的pptx包资料,使用python脚本完成处理. 主要的坑点在于,shape的text_frame不能直接修改字体,甚至paragraph也不行,由于一个框里多个字体存在,它会报为"None",需要进一步去run层修改. from pptx import Presentation from pptx.enum.text import PP_ALIGN prs =
-
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
本文实例讲述了Python实现批量修改图片格式和大小的方法.分享给大家供大家参考,具体如下: 第一种方法用到opencv库 import os import time import cv2 def alter(path,object): result = [] s = os.listdir(path) count = 1 for i in s: document = os.path.join(path,i) img = cv2.imread(document) img = cv2.resize(
-
Python实现的批量修改文件后缀名操作示例
本文实例讲述了Python实现的批量修改文件后缀名操作.分享给大家供大家参考,具体如下: windows和linux下都支持该程序 以下程序可以进行批量修改文件后缀名: #!/usr/bin/env python #coding:utf8 #! python3 #批量修改一个文件下的文件后缀 import sys import os def Rename(): #Path = "F:\\test\\" # windows下的文件目录 Path = input("请输入你需要操
-
python的netCDF4批量处理NC格式文件的操作方法
目录 一.使用ArcMap提取出第一期数据 1.使用工具箱中的“Make NetCDF Raster Layer”工具,提取出一个数据 2.导出该数据作为标准数据 二.使用python批量提取所有数据 1. 查看数据属性 2.批量导出结果 !注意事项 一.使用ArcMap提取出第一期数据 1.使用工具箱中的“Make NetCDF Raster Layer”工具,提取出一个数据 可以发现该数据有正确的像元大小.坐标系等 2.导出该数据作为标准数据 二.使用python批量提取所有数据 1. 查看
-
Python实现自动批量修改文件名称
本文介绍基于Python语言,按照一定命名规则批量修改多个文件的文件名的方法. 已知现有一个文件夹,其中包括班级所有同学上交的作业文件,每人一份:所有作业文件命名格式统一,都是地信1701_姓名_学习心得格式. 现需要对每一位同学的作业文件加以改名,有很多种需求. 第一种需求,将每一位同学作业文件名中原本是姓名的部分,都修改为学号.即原本的地信1701_姓名_学习心得修改为地信1701_学号_学习心得(每一位同学有且仅有一个学号,且相互不重复,且姓名与学号的对应关系我们是已知的),如下图所示.
-
基于Python实现nc批量转tif格式
由于做项目需要运用到netCDF格式的气象数据,而ArcGIS中需要用栅格影像进行处理,对于较多的文件,ArcGIS一个个手动转换过于繁琐,因此我们采用Python进行转换,当然也可以采用matlab进行转换. 首先需要安装下面几个库: import os import netCDF4 as nc import numpy as np from osgeo import gdal, osr, ogr import glob 我们可以在下面网址中寻找对应python安装版本的安装包,下载后,在py
-
python实现批量修改图片格式和尺寸
本文实例为大家分享了python批量处理图片的具体代码,供大家参考,具体内容如下 公司的一个项目要求把所有4096x4096的图片全部转化成2048x2048的图片,这种批量转换图片大小的软件网上很多,我的同事原来使用的美图看看的批量转换,但是稍微有点麻烦,每次还需要指定要转换的图片的输入路径和输出路径,而且每次都只能处理一个文件夹,很繁琐,于是我想到了万能的Python,然后写了一个脚本来批量处理图片,同一个根目录下的所有文件夹的子文件等的图片全部会处理掉. 代码中还加入了很多的异常捕获机制和
-
Python将图片批量从png格式转换至WebP格式
实现效果 将位于/img目录下的1000张.png图片,转换成.webp格式,并存放于img_webp文件夹内. 源图片目录 目标图片目录 关于批量生成1000张图片,可以参考这篇文章:利用Python批量生成任意尺寸的图片 实现示例 import glob import os import threading from PIL import Image def create_image(infile, index): os.path.splitext(infile) im = Image.op
-
python练习程序批量修改文件名
复制代码 代码如下: # encoding:utf-8 ### 文件名如:# 下吧.mp3##import os,re fs=os.listdir('xb')for f in fs: ######方法一:partition获取无用字符 #1.将文件名以'['符分为3部分 #ls=f.partition('[') #2.ls[0]为需要文件名,因此获取ls[1:] #dirtystring = ''.join(ls[1:]) #3.开始替换 #newname=f.replace(dirtystri
-
python实现linux服务器批量修改密码并生成execl
批量修改linux服务器密码,同时生成execl表格 复制代码 代码如下: #!/usr/bin/env python#coding:utf8#随机生成自定义长度密码from random import choiceimport string,pickle def GenPassword(length=8,chars=string.ascii_letters+string.digits): return ''.join([choice(chars) for i in range(lengt
随机推荐
- 无需数据库在线投票调查php代码
- JSP session配置对web应用的影响
- SQL Server使用一个语句块批量插入多条记录的三种方法
- JQuery 网站换肤功能实现代码
- JavaScript中创建对象的7种模式详解
- 一键自动更改本机IP地址BAT执行脚本 非常好用
- ASP.NET实现基于Forms认证的WebService应用实例
- apache php mysql开发环境安装教程
- android图像绘制(一)多种方法做图像镜像
- 深入解析nodejs HTTP服务
- 脚本实现SSH登录邮件报警
- jquery实现在页面加载完毕后获取图片高度或宽度
- jQuery中live方法的重复绑定说明
- Linux下netstat命令的一些常见用法
- SQL Server2005打开数据表中的XML内容时报错的解决办法
- SpringMVC 实现用户登录实例代码
- 人尽可用的Windows技巧小贴士之下篇
- PHP根据传入参数合并多个JS和CSS文件的简单实现
- 详解Android中Handler的使用方法
- selenium+java破解极验滑动验证码的示例代码