当前位置:首页教育技巧ppt技巧ppt动画

Python提取PPT中的图片,幻灯片怎么提取ppt中的图片

2024-07-11 09:52:41


大自然用数百亿年创造出我们现实世界,而程序员用几百年创造出一个完全不同的虚拟世界。我们用键盘敲出一砖一瓦,用大脑构建一切。人们把1000视为权威,我们反其道行之,捍卫1024的地位。我们不是键盘侠,我们只是平凡世界中不凡的缔造者。

一、前言

今天要带大家实现的是PPT图片的提取。在我们学习工作中,PPT的使用还是非常频繁的,但是自己做PPT是很麻烦的,所以就需要用到别人的模板或者素材,这个时候提取PPT图片就可以减少我们很多工作。

二、实现原理

其实实现原理很简单,我们的pptx文件其实是一个压缩包。我们可以直接修改pptx文件的后缀,改成zip然后解压,比如下面这个:

解压后的目录

这是解压后的文件。我们可以在ppt目录下找到一个media目录,这个目录下就是我们要的图片的。这个目录包含了PPT的所有多媒体文件。

知道这点后,我们就可以选择用Python来解压出PPT中的media目录就可以提取出所有图片了。

三、提取PPT中的图片

1、打开压缩包

在Python中提供了一个zipfile模块用于处理压缩包文件。我们来看看它的简单操作:

from zipfile import ZipFile # 打开压缩文件 f = ZipFile("test.pptx") # 查看压缩包所有文件 for file in f.namelist(): print(file) # 关闭压缩包文件 f.close()

输出的部分结果如下:

[Content_Types].xml _rels/.rels ppt/presentation.xml ppt/slides/_rels/slide2.xml.rels ppt/slides/slide1.xml ppt/slides/slide2.xml ppt/slides/slide3.xml

可以看到我们打印出了压缩包的文件。

2、解压文件

我们还可以通过下面的方式打开压缩包:

from zipfile import ZipFile with ZipFile("test.pptx") as f: for file in f.namelist(): print(file)

通过with语句,就可以不显示地调用close方法。下面我们看看解压操作:

from zipfile import ZipFile with ZipFile("test.pptx") as f: for file in f.namelist(): # 解压文件 f.extract(file, path="unzip")

解压文件的操作通过f.extract来实现,这里传入了两个参数,分别是压缩包文件,和解压路径,如果压缩包有密码还需要传入解压密码。

然后我们还需要判断一下,如果是媒体目录我们才解压。我们再添加一点代码:

from zipfile import ZipFile with ZipFile("test.pptx") as f: for file in f.namelist(): # 如果是media目录下的文件就解压 if file.startswith("ppt/media/"): f.extract(file, path="unzip")

这样我们就实现了PPT图片的提取。

四、提取PPT中的图片

我们把上面的代码再完善一下:

import os from zipfile import ZipFile # 解压目录 unzip_path = "unzip" # 如果解压目录不存在则创建 if not os.path.exists(unzip_path): os.mkdir(unzip_path) with ZipFile("test1/test.pptx") as f: for file in f.namelist(): if file.startswith("ppt/media/"): f.extract(file, path=unzip_path)

这里我们就是添加了一个解压目录的创建,这样我们执行的时候就不会因为目录不存在而报错了。

另外,其实我们手动解压然后提取PPT中的图片也是很方便的,也并不会比程序慢。

相关信息


电脑版

【免责声明】本站信息来自网友投稿及网络整理,内容仅供参考,如果有错误请反馈给我们及时更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任。
版权所有:学窍知识网 Copyright © 2011-2024 www.at317.com All Rights Reserved .