一、脚本功能

PPT批量转换图片,格式支持png、jpg(手动脚本中改参数)

二、环境说明

使用Windows环境,必须安装【Microsoft PowerPoint】

三、使用说明

建议新建一个文件夹,将python脚本和待转换的PPT(文件名建议不包含中文),放到一个文件夹中

四、实现步骤

  1. 先创建和PPT文件同名的空文件夹
  2. 将PPT转换为图片,放到该文件夹中(图片默认名称是幻灯片1.PNG,幻灯片2.PNG。。。)
  3. 将转换后的图片批量重命名,转换后的名称是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,转后图片后批量重命名相关推荐

  1. Mac如何转换图片格式?ImageWell for Mac转换图片格式教程

    想用Mac电脑转换图片格式?我想你可以借助ImageWell for Mac软件!ImageWell是一款简单好用的的图像处理工具,具有显示,编辑,处理,保存等功能.下面是给大家分享的Mac电脑上使用 ...

  2. c#如何wmf图片转换成png图片_C# 批量转换图片格式 支持/JPG/TIF/PNG/WMF/GIF等

    C# 批量转换图片格式实例源码,可以在BMP/JPG/TIF/PNG/WMF/GIF这几种格式之间批量转换,是否支持逆转换,这个未测试,有兴趣的自己下载源码编译一下吧.本源码实现的原理:将转换过程写入 ...

  3. 怎么把CAD转换成图片格式?CAD快速转换成图片的方法

    如何把CAD转换成图片格式?在我们平时的CAD工作中,有时候为了方便观看查阅,我们需要将CAD转换高清图片.这不,前几天公司有位实习生就因为不知道该如何转换,而被领导骂了一顿.由此可见,CAD转换图片 ...

  4. java把对象转成图片格式转换器安卓版,java 万能图片格式转换

    话不多说,直接上代码 import java.awt.image.BufferedImage; import java.awt.image.Raster; import java.io.File; i ...

  5. html怎么添加导航图片格式,高德车载导航自研图片格式的探索和实践

    背景 随着近年来车内多媒体设备从无屏向有屏的发展,市场上出现了各种形状.尺寸和分辨率的车机屏幕,其丰富程度远远超过Android适配的手机屏幕. 高德车载导航过去采用的多套UI 图片资源,通过拉伸.缩 ...

  6. 常用图片格式支持的深度,通道,压缩情况

    在介绍图片格式之前首先普及一下图片的基本知识: 彩色图像:每个像素由R.G.B三个分量表示,每个通道取值范围0~255.数据类型一般为8位无符号整形. 灰度图像:每个像素只有一个采样颜色的图像,这类图 ...

  7. android 相册选择视频和图片格式,Android获取文件类型是图片还是视频

    我们开发从相册分享图片到App的功能,开发完成后发现一个问题:我们设置的是用户可以选择多张图片到app,但是有一种情况是有的手机可以分享一张图片和一个视频,尴尬的是我们不支持视频分享.这就需要区分用户 ...

  8. java html转图片格式_java把html转成图片的方法

    代码 1.1 html模版 static String HtmlTemplateStr = " "body {background-color: yellow}"+ &q ...

  9. Python之pandas:对dataframe数据的索引简介、应用大全(输出索引/重命名索引列/字段去重/设置复合索引/根据列名获取对应索引)、指定某字段为索引列等详细攻略

    Python之pandas:对dataframe数据的输出索引.重命名索引列/字段去重/设置复合索引/根据列名获取对应索引.指定某字段为索引列等详细攻略 目录 对pandas中dataframe数据中 ...

  10. 实用工具网站(经纬度、短链接、图片格式转换、长微博、图片压缩、uuid、繁体字、md5破解)

    一些实用的在线编辑器 在线生成 uuid:UUID Online md5/sha的在线破解:md5在线解密破解,md5解密加密 0. 时间与日期类网站 timeanddate.com 1. 经纬度查询 ...

最新文章

  1. mongodb常用语句以及SpringBoot中使用mongodb
  2. 安装RVDS2.2破解版
  3. C/Cpp / C++ 构造函数和析构函数可以是虚函数吗
  4. div css页面布局 模板_HTML 布局
  5. 工作中用到的设计模式?
  6. python-2:工欲善其事,必先利其器 修改jupyter保存文件目录(亲测)
  7. 【清华集训2014】Sum)(类欧几里得算法)
  8. linux 64位内存划分,linux 64位内存空间大小?(linux 64 bits memory space size? [closed])
  9. android 6.0 短信权限,Android6.0权限适配
  10. Daemontools和Supervisor管理linux常驻进程
  11. mysql 报ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_EXECUT
  12. jenkins调用shell脚本实现自动上线完整项目---此项目中用到了git parameter、choise parameter参数化构建(五)
  13. struts2 国际化 中文乱码英文不乱码问题
  14. matlab 用m_map画地形水深图
  15. 为什么用新浪邮箱收不到Github注册的验证邮件???
  16. java万年历方法_利用java制作万年历
  17. 汇编语言——王爽版 总结
  18. Svelte笔记:必须吹爆的几个理由
  19. Anaconda Distribution :流行的Python数据科学平台
  20. tailgate and piggyback

热门文章

  1. android 脚本swipe,appium1.1 版本使用 swipe 方法报错
  2. Rstudio shiny rmarkdown tidyverse 相关网页
  3. tersorrt安装_pytorch/mxnet模型tensorrt部署
  4. Gartner:浪潮存储进入分布式存储前三
  5. 金融计算机在线使用,金融计算器使用实例.ppt
  6. Mac上有哪些软件可以代替Office或Word的软件?
  7. python招聘杭州拉勾网_Python3获取拉勾网招聘信息
  8. 五、神奇的自然常数e之“自然”魅力
  9. Linux系统内核笔记
  10. LSH(Locality Sensitive Hashing)原理与实现