温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用python一步步提取PPT中的图片

发布时间:2021-09-30 10:45:02 来源:亿速云 阅读:145 作者:小新 栏目:开发技术

这篇文章主要介绍怎么用python一步步提取PPT中的图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    一、实现原理

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

    怎么用python一步步提取PPT中的图片

    这是解压后的文件。我们可以在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中的图片也是很方便的,也并不会比程序慢。

    以上是“怎么用python一步步提取PPT中的图片”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI