如何使用Python保存PPT中的形狀為圖像文件
引言
將PowerPoint演示文稿中的形狀(幻燈片中的內(nèi)容元素,包括文本框、圖形、圖片、圖表等)保存為圖片是方便內(nèi)容跨平臺分享和再利用的有效手段。利用Python,我們可以直接將PowerPoint幻燈片中帶設(shè)計(jì)和格式的文本、圖片、圖形、表格等各種元素直接保存為圖片,從而實(shí)現(xiàn)在保留原設(shè)計(jì)和格式的情況下,將其發(fā)布在網(wǎng)頁或是在其他文檔編輯等場景再利用。本文將演示如何使用Python保存PowerPoint演示文稿中的形狀為圖像文件。
本文所使用的方法需要用到Spire.Presentation for Python,PyPI:pip install spire.presentation
。
使用Python保存PPT中的所有形狀為圖像文件
在操作PowerPoint演示文稿時(shí),我們可以先使用Presentation.LoadFromFile()方法從文件載入演示文稿,再使用Presentation.Slides.get_Item()方法獲取單個(gè)幻燈片或遍歷所幻燈片。然后,我們可以遍歷通過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開始) 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ì)的圖片為圖像文件
通過直接將形狀保存圖像文件的方法,我們還可以直接將演示文稿中進(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開始) slide = presentation.Slides.get_Item(1) # 遍歷幻燈片中的所有形狀 i = 0 for shape in slide.Shapes: # 檢查形狀是否是 SlidePicture 類型的對象 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python搭建簡易服務(wù)器分析與實(shí)現(xiàn)
本文將介紹python搭建簡易服務(wù)器實(shí)現(xiàn)步驟,需要了解的朋友可以參考下2012-12-12python使用matplotlib繪制圖片時(shí)x軸的刻度處理
在使用matplotlib繪制圖片時(shí),x軸的刻度可能比較密集,特別是以日期作為x軸時(shí),則最后會顯示不出來。這篇文章主要介紹了python使用matplotlib繪制圖片時(shí)x軸的刻度處理,需要的朋友可以參考下2021-08-08Python使用plt.boxplot() 參數(shù)繪制箱線圖
這篇文章主要介紹了Python使用plt.boxplot() 參數(shù)繪制箱線圖 ,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06解決python字典對值(值為列表)賦值出現(xiàn)重復(fù)的問題
今天小編就為大家分享一篇解決python字典對值(值為列表)賦值出現(xiàn)重復(fù)的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01python dataframe 輸出結(jié)果整行顯示的方法
今天小編就為大家分享一篇python dataframe 輸出結(jié)果整行顯示的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06使用pyqt5 tablewidget 單元格設(shè)置正則表達(dá)式
今天小編就為大家分享一篇使用pyqt5 tablewidget 單元格設(shè)置正則表達(dá)式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12