[Python]將PPT中出現的圖片素材批量導出&PPT全部導出生成圖片


最近在研究一些日常工作或者生活中比較實用的東西,這次的功能是:批量導出ppt中所有的圖片素材。

用到的庫是:python-pptx

pip install python-pptx

代碼參考:Python 將 PPT 中的圖片素材批量導出

稍微做了優化和修正一個錯誤,已經測試過可以直接用,需要准備一個帶有圖片素材的ppt或者pptx格式的文檔 放到同一目錄下即可。

代碼實現:

#!/usr/bin/python
# -*- coding: utf-8

from pptx import Presentation
import os
import sys


'''
功能:
    將pptx中出現的圖片素材全部導出
'''
ppt_root = jpg_root =sys.path[0]
i = 0
def ppt2png(pptFileName):

    # 實例化ppt對象
    prs = Presentation(pptFileName) #PPT文件路徑
    # 遍歷
    
    for slide in prs.slides:
        for obj in slide.shapes:
            # try/except 因為非圖片元素沒有Image方法會彈出異常.
            try:
                global i
                # 獲取二進制字符流
                imdata = obj.image.blob
                # 判斷文件后綴類型
                imagetype = obj.image.content_type
                typekey = imagetype.find('/') + 1
                i +=1
                imtype = imagetype[typekey:]

                # 創建image文件夾保存抽出圖片
                path = jpg_root +"/image/"

                if not os.path.exists(path):
                    os.makedirs(path)
                # 圖片生成
                obj.name = "Picture"+ str(i)
                image_file = path + obj.name + "." + imtype

                file_str=open(image_file,'wb')
                file_str.write(imdata)
                file_str.close()
            except:
                pass

for fn in (fns for fns in os.listdir(ppt_root) if fns.endswith(('.ppt', 'pptx'))):
    ppt2png(fn)

將PPT每頁內容導出生成圖片

一樣有代碼可以實現,不過ppt 本身就有這個功能,所以就不記錄python 相關實現了,因為懶。 hhh~~

  • 1. 打開ppt后,選擇保存Save As..

  • 2. 保存方式選擇jpg or png

  • 3. 選擇所有幻燈片

然后桌面就會生成一個包含所有幻燈片圖片格式的文件夾


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM