使用Python实现批量PPT转图片,格式支持PNG、JPG,转后图片后批量重命名
一、脚本功能
PPT批量转换图片,格式支持png、jpg(手动脚本中改参数)
二、环境说明
使用Windows环境,必须安装【Microsoft PowerPoint】
三、使用说明
建议新建一个文件夹,将python脚本和待转换的PPT(文件名建议不包含中文),放到一个文件夹中
四、实现步骤
- 先创建和PPT文件同名的空文件夹
- 将PPT转换为图片,放到该文件夹中(图片默认名称是幻灯片1.PNG,幻灯片2.PNG。。。)
- 将转换后的图片批量重命名,转换后的名称是1.png、2.png。。。
五、代码
git:https://github.com/chisanhe/ppt_to_img.git
import os
import win32com.client'''支持转换为PNG、JPG,搜索后替换即可
'''
#JPG是17
ppSaveAsJPG = 17
#PNG是18
ppSaveAsPNG = 18'''将PPT另存为图片格式arguments:pptFullName: 要转换的ppt文件,pptName:转换后的存放JPG文件的目录imgType: 图片类型
'''
def pptToImg(pptFullName, pptName, imgType):# 启动PPTpptClient = win32com.client.Dispatch('PowerPoint.Application')# 设置为0表示后台运行,不显示,1则显示pptClient.Visible = 1# 打开PPT文件ppt = pptClient.Presentations.Open(pptFullName)# 另存为图片ppt.SaveAs(pptName, imgType)# 退出pptClient.Quit()'''多文件夹多图片文件重命名
'''
def renameImg(currentDir):#当前目录下,只获取所有的文件夹folders = [dI for dI in os.listdir(currentDir) if os.path.isdir(os.path.join(currentDir, dI))]i = 0;for folder in folders:#打开单个文件夹,获取文件列表fileList = os.listdir(folder)#重命名文件,规则1、2、3,开发时读取文件利于遍历i = 0;#遍历单个文件for file in fileList:#为了避免修改其他文件,只判断等于PNG、JPG的图fileFix = os.path.splitext(file)[-1]if fileFix.lower() == '.png' or fileFix == '.jpg':i += 1#完整路径img文件名 + 后缀,F:\my\projects\python\ppt2img\01_single_img/1.pngimgFullName = os.path.join(currentDir, folder + '/' + file)#完整路径img文件名不含后缀 F:\my\projects\python\ppt2img\01_single_imgimgName = os.path.join(currentDir, folder)#重命名os.rename(imgFullName, imgName + '/' + (str(i) + fileFix.lower()))if __name__ == '__main__':print("PPT转图片开始")# #获取当前路径currentDir = os.sys.path[0]#获取当前文件列表currentDirAllFiles = os.listdir(currentDir)#获取当前目录下所有后缀是ppt、pptx的文件,返回值是生成器对象(可迭代)currentDirPptFiles = (fns for fns in currentDirAllFiles if fns.endswith(('.ppt', '.pptx')))# 当前目录下所有的PPT文件名,和上述区别在于有无后缀名,返回值是生成器对象(可迭代)currentDirPptNames = (os.path.splitext(fns)[0] for fns in currentDirAllFiles if fns.endswith(('.ppt', '.pptx')))#fullFileName是文件名称 + 后缀01_single_img.pptx,fileName是文件名称不含后缀01_single_imgfor fullFileName, fileName in zip(currentDirPptFiles, currentDirPptNames):#完整路径ppt文件名 + 后缀,F:\my\projects\python\ppt2img\01_single_img.pptxpptFullName = os.path.join(currentDir, fullFileName)#完整路径PPT文件名 F:\my\projects\python\ppt2img\01_single_imgpptName = os.path.join(currentDir, fileName)#需要创建一个与PPT同名的文件夹,判断下,如果不存在则创建if not os.path.exists(pptName):os.mkdir(pptName)#PPT转PNGpptToImg(pptFullName, pptName, ppSaveAsPNG)#PPT转JPEG# pptToImg(pptFullName, pptName, ppSaveAsJPG)print("PPT转图片完成")print("图片重命名开始")renameImg(currentDir)print("图片重命名完成,脚本执行结束")
使用Python实现批量PPT转图片,格式支持PNG、JPG,转后图片后批量重命名相关推荐
- Mac如何转换图片格式?ImageWell for Mac转换图片格式教程
想用Mac电脑转换图片格式?我想你可以借助ImageWell for Mac软件!ImageWell是一款简单好用的的图像处理工具,具有显示,编辑,处理,保存等功能.下面是给大家分享的Mac电脑上使用 ...
- c#如何wmf图片转换成png图片_C# 批量转换图片格式 支持/JPG/TIF/PNG/WMF/GIF等
C# 批量转换图片格式实例源码,可以在BMP/JPG/TIF/PNG/WMF/GIF这几种格式之间批量转换,是否支持逆转换,这个未测试,有兴趣的自己下载源码编译一下吧.本源码实现的原理:将转换过程写入 ...
- 怎么把CAD转换成图片格式?CAD快速转换成图片的方法
如何把CAD转换成图片格式?在我们平时的CAD工作中,有时候为了方便观看查阅,我们需要将CAD转换高清图片.这不,前几天公司有位实习生就因为不知道该如何转换,而被领导骂了一顿.由此可见,CAD转换图片 ...
- java把对象转成图片格式转换器安卓版,java 万能图片格式转换
话不多说,直接上代码 import java.awt.image.BufferedImage; import java.awt.image.Raster; import java.io.File; i ...
- html怎么添加导航图片格式,高德车载导航自研图片格式的探索和实践
背景 随着近年来车内多媒体设备从无屏向有屏的发展,市场上出现了各种形状.尺寸和分辨率的车机屏幕,其丰富程度远远超过Android适配的手机屏幕. 高德车载导航过去采用的多套UI 图片资源,通过拉伸.缩 ...
- 常用图片格式支持的深度,通道,压缩情况
在介绍图片格式之前首先普及一下图片的基本知识: 彩色图像:每个像素由R.G.B三个分量表示,每个通道取值范围0~255.数据类型一般为8位无符号整形. 灰度图像:每个像素只有一个采样颜色的图像,这类图 ...
- android 相册选择视频和图片格式,Android获取文件类型是图片还是视频
我们开发从相册分享图片到App的功能,开发完成后发现一个问题:我们设置的是用户可以选择多张图片到app,但是有一种情况是有的手机可以分享一张图片和一个视频,尴尬的是我们不支持视频分享.这就需要区分用户 ...
- java html转图片格式_java把html转成图片的方法
代码 1.1 html模版 static String HtmlTemplateStr = " "body {background-color: yellow}"+ &q ...
- Python之pandas:对dataframe数据的索引简介、应用大全(输出索引/重命名索引列/字段去重/设置复合索引/根据列名获取对应索引)、指定某字段为索引列等详细攻略
Python之pandas:对dataframe数据的输出索引.重命名索引列/字段去重/设置复合索引/根据列名获取对应索引.指定某字段为索引列等详细攻略 目录 对pandas中dataframe数据中 ...
- 实用工具网站(经纬度、短链接、图片格式转换、长微博、图片压缩、uuid、繁体字、md5破解)
一些实用的在线编辑器 在线生成 uuid:UUID Online md5/sha的在线破解:md5在线解密破解,md5解密加密 0. 时间与日期类网站 timeanddate.com 1. 经纬度查询 ...
最新文章
- mongodb常用语句以及SpringBoot中使用mongodb
- 安装RVDS2.2破解版
- C/Cpp / C++ 构造函数和析构函数可以是虚函数吗
- div css页面布局 模板_HTML 布局
- 工作中用到的设计模式?
- python-2:工欲善其事,必先利其器 修改jupyter保存文件目录(亲测)
- 【清华集训2014】Sum)(类欧几里得算法)
- linux 64位内存划分,linux 64位内存空间大小?(linux 64 bits memory space size? [closed])
- android 6.0 短信权限,Android6.0权限适配
- Daemontools和Supervisor管理linux常驻进程
- mysql 报ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUT
- jenkins调用shell脚本实现自动上线完整项目---此项目中用到了git parameter、choise parameter参数化构建(五)
- struts2 国际化 中文乱码英文不乱码问题
- matlab 用m_map画地形水深图
- 为什么用新浪邮箱收不到Github注册的验证邮件???
- java万年历方法_利用java制作万年历
- 汇编语言——王爽版 总结
- Svelte笔记:必须吹爆的几个理由
- Anaconda Distribution :流行的Python数据科学平台
- tailgate and piggyback
热门文章
- android 脚本swipe,appium1.1 版本使用 swipe 方法报错
- Rstudio shiny rmarkdown tidyverse 相关网页
- tersorrt安装_pytorch/mxnet模型tensorrt部署
- Gartner:浪潮存储进入分布式存储前三
- 金融计算机在线使用,金融计算器使用实例.ppt
- Mac上有哪些软件可以代替Office或Word的软件?
- python招聘杭州拉勾网_Python3获取拉勾网招聘信息
- 五、神奇的自然常数e之“自然”魅力
- Linux系统内核笔记
- LSH(Locality Sensitive Hashing)原理与实现