最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python從PPT文檔中提取圖片和圖片信息(如坐標(biāo)、寬度和高度等)

 更新時(shí)間:2025年04月23日 16:38:33   作者:nuclear2011  
PPT是一種高效的信息展示工具,廣泛應(yīng)用于教育、商務(wù)和設(shè)計(jì)等多個(gè)領(lǐng)域,PPT文檔中常常包含豐富的圖片內(nèi)容,這些圖片不僅提升了視覺(jué)效果,也增強(qiáng)了信息的傳遞效率,本文將介紹如何使用 Python 實(shí)現(xiàn)自動(dòng)化提取 PowerPoint文件中的圖片,需要的朋友可以參考下

一、引言

PPT是一種高效的信息展示工具,廣泛應(yīng)用于教育、商務(wù)和設(shè)計(jì)等多個(gè)領(lǐng)域。PPT文檔中常常包含豐富的圖片內(nèi)容,這些圖片不僅提升了視覺(jué)效果,也增強(qiáng)了信息的傳遞效率。將這些圖片從PPT中提取出來(lái),可以再次用于其他文檔、宣傳冊(cè)、網(wǎng)站或社交媒體內(nèi)容中。

本文將介紹如何使用 Python 實(shí)現(xiàn)自動(dòng)化提取 PowerPoint(PPT 或 PPTX)文件中的圖片。主要內(nèi)容包括提取PPT背景圖片(幻燈片背景圖片和幻燈片模板背景圖片)、從幻燈片形狀中提取圖片,從整個(gè)PPT文檔中提取圖片,以及提取圖片的相關(guān)信息,如坐標(biāo)位置、寬度和高度等。

二、環(huán)境與工具

在提取 PPT 中的圖片之前,需要確保你的計(jì)算機(jī)上已安裝 Python。如果沒(méi)有安裝,可前往 Python 官方網(wǎng)站下載安裝。

安裝完成后,需要安裝 Spire.Presentation for Python 庫(kù),該庫(kù)主要用于生成、操作和轉(zhuǎn)換PPT演示文稿。安裝步驟如下:

  • 打開終端
  • 輸入以下命令并回車:
pip install spire.presentation

三、Python 提取PPT背景圖片

PowerPoint 幻燈片通常包含美觀的背景圖片,這些圖片可能存在于單個(gè)幻燈片中,也可能存在于幻燈片母版(模板)中。提取這些背景圖片,對(duì)于設(shè)計(jì)師、教育工作者或需要復(fù)用素材的用戶來(lái)說(shuō)非常有用。

3.1 提取幻燈片背景圖片

要提取PPT幻燈片中的背景圖片,可通過(guò)以下步驟來(lái)實(shí)現(xiàn):

  • 初始化 Presentation 類的實(shí)例,并使用 Presentation.LoadFromFile() 方法加載PPT或PPTX文件。
  • 通過(guò)Presentation.Slides集合遍歷文件中的幻燈片。
    • 通過(guò) ISlide.SlideBackground.Fill.FillType 屬性判斷每張幻燈片的背景填充類型是否為圖片填充。
      • 若為圖片填充,則提取背景圖片并保存為圖片文件。

實(shí)現(xiàn)代碼:

from spire.presentation import *
import os
 
def extract_background_images_from_slides(ppt_path, output_folder):
    """從幻燈片中提取背景圖片"""
    presentation = Presentation()
    presentation.LoadFromFile(ppt_path)
    os.makedirs(output_folder, exist_ok=True)
 
    for i, slide in enumerate(presentation.Slides):
        bgd = slide.SlideBackground
        if bgd.Fill.FillType == FillFormatType.Picture:
            image_data = bgd.Fill.PictureFill.Picture.EmbedImage
            output_path = os.path.join(output_folder, f"幻燈片背景_{i}.png")
            image_data.Image.Save(output_path)
 
    presentation.Dispose()
 
# 使用示例
extract_background_images_from_slides("測(cè)試.pptx", "圖片")

3.2 提取幻燈片母版背景圖片

從幻燈片母版中提取背景圖片的步驟與以上步驟類似,只是遍歷的集合改為Presentation.Masters。具體步驟如下:

  • 初始化 Presentation 類的實(shí)例,并使用 Presentation.LoadFromFile() 方法加載PPT或PPTX文件。
  • 通過(guò)Presentation.Masters集合遍歷文件中的幻燈片母版。
    • 通過(guò)IMasterSlide.SlideBackground.Fill.FillType屬性判斷每個(gè)幻燈片母版的背景填充類型是否為圖片填充。
      • 若為圖片填充,則提取背景圖片并保存為圖片文件。

實(shí)現(xiàn)代碼:

from spire.presentation import *
import os
 
def extract_background_images_from_slide_masters(ppt_path, output_folder):
    """從幻燈片母版中提取背景圖片"""
    presentation = Presentation()
    presentation.LoadFromFile(ppt_path)
    os.makedirs(output_folder, exist_ok=True)
 
    for i, slide_master in enumerate(presentation.Masters):
        bgd = slide_master.SlideBackground
        if bgd.Fill.FillType == FillFormatType.Picture:
            image_data = bgd.Fill.PictureFill.Picture.EmbedImage
            output_path = os.path.join(output_folder, f"幻燈片母版背景_{i}.png")
            image_data.Image.Save(output_path)
 
    presentation.Dispose()
 
# 使用示例
extract_background_images_from_slide_masters("測(cè)試.pptx", "圖片")

四、Python 從PPT幻燈片的形狀中提取圖片

PPT 幻燈片中的圖片也可能以形狀對(duì)象的形式存在,提取步驟如下:

  • 初始化 Presentation 類的實(shí)例,并使用 Presentation.LoadFromFile() 方法加載PPT或PPTX文件。
  • 通過(guò)Presentation.Slides集合遍歷文件中的幻燈片。
  • 通過(guò)ISlide.Shapes集合遍歷每張幻燈片中的所有形狀。
  • 判斷形狀是否為 PictureShape 或 SlidePicture 對(duì)象。
    • 若為PictureShape 或 SlidePicture 對(duì)象,則提取圖片并保存為圖片文件。

實(shí)現(xiàn)代碼

from spire.presentation import *
import os
 
def extract_images_from_shapes(ppt_path, output_folder):
    """從幻燈片形狀中提取圖片"""
    presentation = Presentation()
    presentation.LoadFromFile(ppt_path)
    os.makedirs(output_folder, exist_ok=True)
 
    img_count = 0
 
    for slide_index, slide in enumerate(presentation.Slides):
        for shape_index, shape in enumerate(slide.Shapes):
            if isinstance(shape, PictureShape):
                image_data = shape.EmbedImage
            elif isinstance(shape, SlidePicture):
                image_data = shape.PictureFill.Picture.EmbedImage
            else:
                continue
 
            img_count += 1
            output_path = os.path.join(output_folder, f"圖片_{img_count}.png")
            image_data.Image.Save(output_path)
 
    presentation.Dispose()

五、Python 提取PPT中的圖片信息(如坐標(biāo)、寬度和高度等)

在進(jìn)行 PPT文檔分析或自動(dòng)化處理時(shí),可能需要獲取圖片的具體信息,例如:

  • 坐標(biāo)(相對(duì)于幻燈片左上角的位置)
  • 尺寸(圖片的寬度和高度,單位為磅)

可通過(guò)以下步驟提取這些信息:

  • 初始化 Presentation 類的實(shí)例,并使用 Presentation.LoadFromFile() 方法加載PPT或PPTX文件。
  • 通過(guò)Presentation.Slides集合遍歷文件中的幻燈片。
  • 通過(guò)ISlide.Shapes集合遍歷每張幻燈片中的所有形狀。
  • 判斷形狀是否為 PictureShape 或 SlidePicture 對(duì)象。
    • 若為PictureShape 或 SlidePicture 對(duì)象,則獲取當(dāng)前圖片的X/Y坐標(biāo)、寬度、高度和所在幻燈片等信息。

實(shí)現(xiàn)代碼

from spire.presentation import *
 
def extract_image_metadata(ppt_path):
    """獲取 PPT 中圖片的信息(所在幻燈片、坐標(biāo)位置、寬度與高度等)"""
    presentation = Presentation()
    presentation.LoadFromFile(ppt_path)
 
    for slide_index, slide in enumerate(presentation.Slides):
        for shape_index, shape in enumerate(slide.Shapes):
            if isinstance(shape, PictureShape) or isinstance(shape, SlidePicture):
                x = shape.Frame.Rectangle.X
                y = shape.Frame.Rectangle.Y
                width = shape.Frame.Rectangle.Width
                height = shape.Frame.Rectangle.Height
                print(f"幻燈片 {slide_index + 1},形狀 {shape_index + 1}:X={x}, Y={y}, 寬度={width}, 高度={height}")
 
    presentation.Dispose()
 
# 使用示例
extract_image_metadata("測(cè)試.pptx")

六、Python 從整個(gè)PPT文檔中提取圖片

如果要從整個(gè)PPT文檔中提取圖片,可遍歷 Presentation.Images 集合。具體步驟如下:

  • 初始化 Presentation 類的實(shí)例,并使用 Presentation.LoadFromFile() 方法加載PPT或PPTX文件。
  • 使用Presentation.Images 集合遍歷PPT文檔中的圖片。
    • 提取每張圖片并保存為圖片文件。

實(shí)現(xiàn)代碼

from spire.presentation import *
import os
 
def extract_images_from_presentation(ppt_path, output_folder):
    """提取整個(gè)PPT文檔中的圖片"""
    presentation = Presentation()
    presentation.LoadFromFile(ppt_path)
    os.makedirs(output_folder, exist_ok=True)
 
    for i, image in enumerate(presentation.Images):
        output_path = os.path.join(output_folder, f"圖片_{i}.png")
        image.Image.Save(output_path)
 
    presentation.Dispose()
 
# 使用示例
extract_images_from_presentation("測(cè)試.pptx", "圖片")

以上就是使用Python從PPT中提取圖片和圖片信息的全部?jī)?nèi)容。

到此這篇關(guān)于使用Python從PPT文檔中提取圖片和圖片信息(如坐標(biāo)、寬度和高度等)的文章就介紹到這了,更多相關(guān)Python提取PPT圖片和圖片信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

  • Windows下安裝Scrapy

    Windows下安裝Scrapy

    今天小編就為大家分享一篇關(guān)于Windows下安裝Scrapy,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • python 讀取excel文件生成sql文件實(shí)例詳解

    python 讀取excel文件生成sql文件實(shí)例詳解

    這篇文章主要介紹了python 讀取excel文件生成sql文件實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • AI與Python計(jì)算機(jī)視覺(jué)教程

    AI與Python計(jì)算機(jī)視覺(jué)教程

    這篇文章主要為大家介紹了AI與Python計(jì)算機(jī)視覺(jué)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 使用Python編寫一個(gè)粘貼python源代碼就能運(yùn)行的工具

    使用Python編寫一個(gè)粘貼python源代碼就能運(yùn)行的工具

    以下是一個(gè)使用wxPython模塊創(chuàng)建帶有Memo(文本輸入框)和保存按鈕的GUI程序示例,點(diǎn)擊保存按鈕后將Memo內(nèi)容保存到指定路徑下的文件,并提供運(yùn)行按鈕以執(zhí)行指定的Python腳本,需要的朋友可以參考下
    2025-04-04
  • pyqt5實(shí)現(xiàn)俄羅斯方塊游戲

    pyqt5實(shí)現(xiàn)俄羅斯方塊游戲

    這篇文章主要介紹了pyqt5實(shí)現(xiàn)俄羅斯方塊游戲,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 對(duì)python:threading.Thread類的使用方法詳解

    對(duì)python:threading.Thread類的使用方法詳解

    今天小編就為大家分享一篇對(duì)python:threading.Thread類的使用方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python清空Word段落樣式的三種方法

    Python清空Word段落樣式的三種方法

    這篇文章主要介紹了如何用python-docx庫(kù)清空Word段落樣式,提供三種方法:設(shè)置為Normal樣式、清除直接格式、創(chuàng)建新Normal樣式,注意需重置樣式或清除格式,復(fù)雜文檔需遞歸處理,建議備份并按需選擇方法,需要的朋友可以參考下
    2025-08-08
  • Python的爬蟲程序編寫框架Scrapy入門學(xué)習(xí)教程

    Python的爬蟲程序編寫框架Scrapy入門學(xué)習(xí)教程

    Python的一大優(yōu)勢(shì)就是可以輕松制作Web爬蟲,而超高人氣的Scrapy則是名副其實(shí)的Python編寫爬蟲的利器,這里我們就來(lái)看一下Python的爬蟲程序編寫框架Scrapy入門學(xué)習(xí)教程:
    2016-07-07
  • 使用Python字符串訪問(wèn)與修改局部變量的實(shí)現(xiàn)代碼

    使用Python字符串訪問(wèn)與修改局部變量的實(shí)現(xiàn)代碼

    這篇文章主要介紹了使用Python字符串訪問(wèn)與修改局部變量,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • 最新評(píng)論

    威远县| 望谟县| 蛟河市| 顺平县| 安仁县| 琼中| 上思县| 繁峙县| 江油市| 黄龙县| 金华市| 桓台县| 涟源市| 陆良县| 和田市| 台北县| 西青区| 满城县| 松原市| 拜泉县| 洛阳市| 上高县| 遂川县| 惠安县| 乐清市| 凤阳县| 伊春市| 柏乡县| 和政县| 天全县| 孟州市| 卢氏县| 桃园市| 灵山县| 乌拉特前旗| 洛川县| 耒阳市| 瑞丽市| 中牟县| 铁岭县| 边坝县|