使用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
随机推荐
- Java读取Properties文件的七种方法的总结
- SqlLoader怎么使用
- 深入理解JavaScript系列(2) 揭秘命名函数表达式
- php页面跳转代码 输入网址跳转到你定义的页面
- Laravel5.5新特性之友好报错以及展示详解
- 如何解决CI框架的Disallowed Key Characters错误提示
- Python入门篇之正则表达式
- js实现鼠标触发图片抖动效果的方法
- JS中使用FormData上传文件、图片的方法
- DOM和XMLHttpRequest对象的属性和方法整理
- 建立隐藏磁盘的bat代码
- 输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程
- sendAndLoad和Redirect的测试as
- 基于Android MarginLeft与MarginStart的区别(详解)
- Java开启/关闭tomcat服务器的方法
- JS异步处理的进化史深入讲解
- python lambda表达式(匿名函数)写法解析
- Android实现多维商品属性SKU选择
- Android ScrollView的顶部下拉和底部上拉回弹效果
- django 简单实现登录验证给你