如何使用Python保存PPT中的形狀為圖像文件
引言
將PowerPoint演示文稿中的形狀(幻燈片中的內(nèi)容元素,包括文本框、圖形、圖片、圖表等)保存為圖片是方便內(nèi)容跨平臺(tái)分享和再利用的有效手段。利用Python,我們可以直接將PowerPoint幻燈片中帶設(shè)計(jì)和格式的文本、圖片、圖形、表格等各種元素直接保存為圖片,從而實(shí)現(xiàn)在保留原設(shè)計(jì)和格式的情況下,將其發(fā)布在網(wǎng)頁(yè)或是在其他文檔編輯等場(chǎng)景再利用。本文將演示如何使用Python保存PowerPoint演示文稿中的形狀為圖像文件。
本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install spire.presentation。
使用Python保存PPT中的所有形狀為圖像文件
在操作PowerPoint演示文稿時(shí),我們可以先使用Presentation.LoadFromFile()方法從文件載入演示文稿,再使用Presentation.Slides.get_Item()方法獲取單個(gè)幻燈片或遍歷所幻燈片。然后,我們可以遍歷通過(guò)Slide.Shapes.SaveAsImage(shapeIndex: int, dpiX: int, dpiY: int)方法將形狀保存為圖像。下面是操作步驟示例:
- 導(dǎo)入所需模塊
- 創(chuàng)建
Presentation實(shí)例。 - 使用
Presentation.LoadFromFile()方法加載PowerPoint演示文稿。 - 使用
Presentation.Pages.get_Item()方法獲取一個(gè)幻燈片。 - 遍歷幻燈片中的形狀:
- 使用
Slide.Shapes.SaveAsImage()方法將形狀保存為圖像流。 - 使用
Stream.Save()方法將圖像流保存到文件。
- 使用
代碼示例
from spire.presentation import *
# 創(chuàng)建一個(gè) Presentation 實(shí)例
presentation = Presentation()
# 加載一個(gè) PowerPoint 文件
presentation.LoadFromFile("Sample.pptx")
# 獲取第四張幻燈片(索引從0開(kāi)始)
slide = presentation.Slides.get_Item(4)
# 將形狀保存為圖片流
for i in range(slide.Shapes.Count):
# 保存當(dāng)前形狀為指定大小的圖片流
imageStream = slide.Shapes.SaveAsImage(i, 256, 256)
# 保存圖片到文件
imageStream.Save(f"output/Shapes/ShapeToImage{i}.png")
# 釋放資源
presentation.Dispose()
結(jié)果

用Python保存PPT中帶格式設(shè)計(jì)的圖片為圖像文件
通過(guò)直接將形狀保存圖像文件的方法,我們還可以直接將演示文稿中進(jìn)行了格式編輯的圖片保存圖像文件,并保留其格式。我們只需要在將形狀保存為圖像時(shí),判斷其是否為SlidePicture實(shí)例并保存這些實(shí)例。以下是操作步驟示例:
- 導(dǎo)入所需模塊
- 創(chuàng)建
Presentation實(shí)例。 - 使用
Presentation.LoadFromFile()方法加載PowerPoint演示文稿。 - 使用
Presentation.Pages.get_Item()方法獲取一個(gè)幻燈片。 - 遍歷幻燈片中的形狀:
- 判斷形狀是否為
SlidePicture實(shí)例,如果是則將其保存為圖像流。 - 使用
Stream.Save()方法將圖像流保存到圖像文件。
- 判斷形狀是否為
代碼示例
from spire.presentation import *
# 創(chuàng)建一個(gè) Presentation 實(shí)例
presentation = Presentation()
# 加載一個(gè) PowerPoint 文件
presentation.LoadFromFile("Sample.pptx")
# 獲取第五張幻燈片(索引從0開(kāi)始)
slide = presentation.Slides.get_Item(1)
# 遍歷幻燈片中的所有形狀
i = 0
for shape in slide.Shapes:
# 檢查形狀是否是 SlidePicture 類(lèi)型的對(duì)象
if isinstance(shape, SlidePicture):
# 保存形狀為圖片流
shape = shape if isinstance(shape, SlidePicture) else None
image = slide.Shapes.SaveAsImage(slide.Shapes.IndexOf(shape), 256, 256)
# 保存圖片到文件
image.Save(f"output/Images/ImageShape{i}.png")
i += 1
# 釋放資源
presentation.Dispose()

本文演示了如何使用Python將PowerPoint演示文稿中的形狀保存圖像文件。
到此這篇關(guān)于如何使用Python保存PPT中的形狀為圖像文件的文章就介紹到這了,更多相關(guān)Python保存PPT的形狀為圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談tf.train.Saver()與tf.train.import_meta_graph的要點(diǎn)
這篇文章主要介紹了淺談tf.train.Saver() 與tf.train.import_meta_graph的要點(diǎn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python中isinstance()函數(shù)原理解釋及詳細(xì)用法示例
isinstance()是Python內(nèi)置的一個(gè)非常有用的函數(shù),用于檢查一個(gè)對(duì)象是否屬于指定的類(lèi)型或類(lèi)型元組中的某一個(gè)類(lèi)型,它是Python類(lèi)型檢查的核心工具之一,比傳統(tǒng)的type()函數(shù)更加靈活和安全,本文給大家介紹Python中isinstance()函數(shù)原理解釋及詳細(xì)用法,感興趣的朋友一起看看吧2025-09-09
使用Python?http.server模塊共享文件的方法詳解
大家好,今天給大家介紹一下Python標(biāo)準(zhǔn)庫(kù)中的http.server模塊,這個(gè)模塊提供了一種簡(jiǎn)單的方式來(lái)快速啟動(dòng)一個(gè)HTTP服務(wù)器,文中給大家介紹了使用Python?http.server模塊共享文件的方法,需要的朋友可以參考下2024-05-05
你需要學(xué)會(huì)的8個(gè)Python列表技巧
這篇文章主要介紹了8個(gè)常用的Python列表技巧,文中講解非常詳細(xì),幫助大家更好的學(xué)習(xí)Python,感興趣的朋友可以了解下2020-06-06
Python利用docx模塊實(shí)現(xiàn)快速操作word文件
這篇文章主要為大家詳細(xì)介紹了Python如何利用docx模塊實(shí)現(xiàn)快速操作word文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-09-09
Python調(diào)用訊飛語(yǔ)音合成API接口來(lái)實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音
這篇文章主要為大家介紹了Python調(diào)用訊飛語(yǔ)音合成API接口來(lái)實(shí)現(xiàn)文字轉(zhuǎn)語(yǔ)音方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04

