python处理ppt文件,转换成图片或者pdf文件(获取目录下所有文件信息、文件名称分割、文档操作)
把PPT每一页截图到公众号里推送可是个体力活,那就用python脚本去分解ppt,保存每一个为一张图片好了
需要用到“win32com.client”库
import win32com.client
import os
import sys
第一步,定义读取ppt文件路径和输出路径
path = os.path.abspath(os.path.dirname(sys.argv[0]))
#PPT存放路径
ppt = path + '/' + "test.ppt"
#转换成图片后存放路径
filename = path + '/' + '001.jpg'
第二步,ppt路径和存放路径传到转换方法中执行
def ppt2png(ppt, filename):
# 打开PPT程序
ppt_app = win32com.client.Dispatch('PowerPoint.Application')
# 打开ppt文件(后台模式)
ppt = ppt_app.Presentations.Open(ppt)
# 打开的PPT另存为图片文件。17数字是ppt转图片,32数字是ppt转pdf。
ppt.SaveAs(filename, 17)
print("导出成png格式成功!!!")
# 退出PPT程序
ppt_app.Quit()
ppt2png(ppt, filename)
其实,就是这么简单。执行后,会在脚本和目录下创建一个文件夹,里面存放ppt每一页的图片文件

当然,也可以转成pdf文件,把第二步的“ppt.SaveAs”后括号内数字改成32,同时把第一步“filename”后的后缀由jpg改成pdf即可,生成上左图pdf文件
这里有个疑问,“filename”的后缀如果是jpg或者png,会创建一个文件夹,把图片存文件夹内,但是如果是pdf则只会在目录下生成一个pdf文件,没搞明白为何
当然,如果不想更改ppt文件名称,实现拖到脚本目录下即可转换,那就加上获取文件内所有文件信息,同时通过匹配后缀名的方式识别ppt文件转换
#获取默认目录下所有文件
filenames = os.listdir(path) #循环读取文件名称
for ppt in filenames:
#判断文件名称,筛选出后缀名为ppt或者pptx的文件
if ppt.endswith('ppt') or ppt.endswith('pptx'):
#将获取的文件名字进行分割,提取出文件名,比如1024.ppt,按照下面的规则base=1024,ext=ppt
base, ext = ppt.split('.')
#转换成图片后存放路径
filename = path + '/' + base + '.jpg'
#识别出ppt文件后,拼接成ppt文件存放路径
ppt = path + '/' + ppt
else:
continue
以上,实现文首预期效果,附全部代码
import win32com.client
import os
import sys path = os.path.abspath(os.path.dirname(sys.argv[0])) #获取默认目录下所有文件
filenames = os.listdir(path) def ppt2png(ppt, filename):
# 打开PPT程序
ppt_app = win32com.client.Dispatch('PowerPoint.Application')
# 打开ppt文件(后台模式)
ppt = ppt_app.Presentations.Open(ppt)
# 打开的PPT另存为图片文件。17数字是ppt转图片,32数字是ppt转pdf。
ppt.SaveAs(filename, 17)
print("转换成功!!!")
# 退出PPT程序
ppt_app.Quit() #循环读取文件名称
for ppt in filenames:
#判断文件名称,筛选出后缀名为ppt或者pptx的文件
if ppt.endswith('ppt') or ppt.endswith('pptx'):
#将获取的文件名字进行分割,提取出文件名,比如1024.ppt,按照下面的规则base=1024,ext=ppt
base, ext = ppt.split('.')
#转换成图片后存放路径
filename = path + '/' + base + '.jpg'
#识别出ppt文件后,拼接成ppt文件存放路径
ppt = path + '/' + ppt
#执行ppt2png方法,转换ppt
ppt2png(ppt, filename)
else:
continue
“win32com.client”的使用参考:https://blog.csdn.net/qq_28304687/article/details/80721653
python处理ppt文件,转换成图片或者pdf文件(获取目录下所有文件信息、文件名称分割、文档操作)的更多相关文章
- 批量将网页转换成图片或PDF文档技巧分享
工作中我们有时要将一些批量的网页转换成图片或者PDF文档格式,尽管多数浏览器具有滚动截屏或者打印输出PDF文档功能.可是假设有几十上百张网页须要处理,那也是要人命的.所以我一直想找一款可以批量处理该工 ...
- wkhtmltox实现网页转换成图片或pdf
1.先下载http://download.gna.org/wkhtmltopdf/obsolete/windows/wkhtmltox-0.11.0_rc1-installer.exe,安装 2.在命 ...
- Linux shell 获取目录下时间最新的文件的文件名
ls -lt /dirname/ | grep filename | head -n 1 |awk '{print $9}' 逐条解释: ls -lt /dirname/ 列出此目录下的所有文件并按照 ...
- caffe的idx1-ubyte和idx1-ubyte文件转换成图片文件和文本文件
train-images-idx3-ubyte : training set images train-labels-idx1-ubyte : training set labels t10k-i ...
- python 遍历, 获取目录下所有文件名和文件夹的方法-----os.walk(), os.listdir
http://www.runoob.com/python/os-walk.html https://www.cnblogs.com/dreamer-fish/p/3820625.html 转载于:ht ...
- C# 获取目录下文件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 用Python将word文件转换成html(转)
用Python将word文件转换成html 序 最近公司一个客户大大购买了一堆医疗健康方面的科普文章,希望能放到我们正在开发的健康档案管理软件上.客户大大说,要智能推送!要掌握节奏!要深度学习!要 ...
- mpp文件转换成jpg图片,可以用pdf文件做中转站
用project软件做了一个表,发现不能转换成图片,先把mpp文件转换成pdf文件,然后用PS打开pdf文件,存储为jpg格式就行了
- 自制 Python小工具 将markdown文件转换成Html文件
今天看到了一个Python库,名为markdown.瞬间就给了我一个灵感,那就是制作一个将markdown文件转换成html文件的小工具. 我的实验环境 操作系统: Windows 7 64位 旗舰版 ...
- Ghostscript 将PDF文件转换成PNG图片 问题一二
由于项目需求,需要将原来的PDF文档转换成图片文件,在网上找了一些PDF转图片的方法:测试了几个后,都有这样或那样的问题 1.PDFLibNet.dll,这个类型最初还是挺好用的,能转图片和HTML, ...
随机推荐
- 2025年这些实用的C#/.NET知识点你都知道吗?
前言 在这个快速发展的技术世界中,时常会有一些重要的知识点.信息或细节被忽略或遗漏.<C#/.NET/.NET Core拾遗补漏>专栏我们将探讨一些可能被忽略或遗漏的重要知识点.信息或细节 ...
- 镇海-APIO联合总结
镇海考试见此处:https://www.cnblogs.com/british-union/p/liankao.html 考的是湖南省队集训,除了第一天有点头昏导致体验很差之外体验非常好,剩下两次考试 ...
- 2025年,Fantastic-admin 这款后台框架将继续引领潮流
前言 大言不惭的取了这个标题,但作为开发了 4 年多的 Fantastic-admin 的作者,回顾这一路走来,从一开始被指责抄袭,到现在拥有数百名付费用户和几十家付费企业.我认为我的开发理念应该是得 ...
- 配置Slf4j
1.maven添加 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api< ...
- 华盛顿大学-分布式系统课设-lab0
前言 无意间发现一个华盛顿大学分布式系统的课程实验,感觉课程组设计得非常用心.不同于一般实验仅仅给出若干测试样例并判断程序的输出是否正确,实验中的验证环节通过DFS搜索来遍历分布式系统可能的状态,以此 ...
- 13. Docker-compose容器编排(详解说明)
13. Docker-compose容器编排(详解说明) @ 目录 13. Docker-compose容器编排(详解说明) 1. Docker-compose容器编排概述 2. Docker-Com ...
- JUC并发—7.AQS源码分析三
大纲 1.等待多线程完成的CountDownLatch介绍 2.CountDownLatch.await()方法源码 3.CountDownLatch.coutDown()方法源码 4.CountDo ...
- Android开发之定时任务(AlarmManager、WorkManager)
Android 程序的定时任务主要有AlarmManager.WorkManager两种. 一.AlarmManager AlarmManager,又称闹钟,可以设置一次性任务,周期重复任务,定时重复 ...
- Java进阶 - [1-1] 六大设计原则
不要因为某本书而去读,而是因为这本书让你读起来时常有共鸣而去读. 一.单一职责原则 [术语]:SRP,Single Reposibility Principle [定义]:一个类或者模块只负责完成一个 ...
- KaFka 安装与基本使用
学了有一段时间的大数据了,学习新的组件,大部分安装可以分为三步:上传解压,配置文件,启动. 分享一下我的kafka安装包: 链接:https://pan.baidu.com/s/1fbydwZwcYy ...