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, ...
随机推荐
- Kotlin:【泛型】
- Windows中GNURadio的安装
对于一个常常使用Python的人来讲(此处指我),conda环境是必不可少的,(Anaconda或Miniconda). 在Windows中且已经安装过conda环境的情况下,安装GNURadio特别 ...
- 效率起飞!天翼云并行文件服务HPFS高效应对AI时代大模型训练存储挑战!
国内外AI大模型层出不穷,训练数据复杂程度更是呈指数级增加.如今,在万亿级参数时代,单个资源池已无法满足大模型训练场景中动辄PB级的数据存储量,对于企业来说,启用多个资源池构成的分布式存储势在必行. ...
- SQL Server统计信息更新会被阻塞或引起会话阻塞吗?
在SQL Server数据库中,统计信息更新(UPDATE STATISTICS)会被其它会话阻塞吗?统计信息更新(UPDATE STATISTICS)会引起其它会话阻塞吗?在回答这两个问题前,我们必 ...
- [记录点滴] Spark迁移到Flink的几个点
[记录点滴] Spark迁移到Flink的几个点 0x00 三个问题点 有三个Spark API需要找到对应的Flink API或者替代方法 reduceByKeyAndWindow 函数reduce ...
- [记录点滴] 使用工具和命令对redis数据进行备份恢复
[记录点滴] 使用工具和命令对redis数据进行备份恢复 0x00 摘要 本文记录了如何使用工具对redis数据进行恢复备份,涉及的有Redis-Dump,MySQL,Redis管道命令. 0x01 ...
- Amazon Dynamo系统架构
Amazon Dynamo系统架构 目录 Amazon Dynamo系统架构 0x00 摘要 0x01 Amazon Dynamo 1.1 概况 1.2 主要问题及解决方案 1.3 数据均衡分布 1. ...
- Q:oracle小于1的number,不显示小数点前的0?
oracle存储number类型数字 如果数字小于1 如0.35就会存储.35 省略掉前面的数字0 方法1: oracle 数据库字段值为小于1的小数时,转换到char类型处理,会丢失小数点前面的 ...
- Xshell不可以删除,退格^H
文件→属性→终端→键盘,把delete和backspace序列改为 ASCII 127即可.
- 【IDEA】IDEA上如何解决代码冲突
首先,坐好准备工作,在feature-resolve-conflict分支上作如下改动: 在master分支作如下改动: 假如现在我们需要将master分支合并到feature-resolve-con ...