使用Python將PPT的幻燈片和形狀轉(zhuǎn)為多種圖片格式
將 PowerPoint 幻燈片轉(zhuǎn)換為圖片不僅讓內(nèi)容的分享更加便捷,還為文件的使用提供了更多靈活性。例如,你可以生成縮略圖快速預(yù)覽幻燈片,將圖片嵌入到報(bào)告、網(wǎng)頁(yè)或其他文檔中,或者在無(wú)法打開(kāi) PowerPoint 的環(huán)境中輕松展示內(nèi)容。
本博客將討論如何使用 Python 將 PowerPoint 幻燈片轉(zhuǎn)換為常見(jiàn)的圖片格式,如 JPG、PNG、BMP、SVG 和 TIFF。此外,還將介紹如何使用 Python 將 PowerPoint 中的形狀轉(zhuǎn)換為圖片。
使用Python將PowerPoint幻燈片轉(zhuǎn)換為JPG、PNG和BMP圖片
使用Python將PowerPoint幻燈片轉(zhuǎn)換為SVG圖片
使用Python將PowerPoint幻燈片轉(zhuǎn)換為多頁(yè)TIFF圖片
使用Python將PowerPoint幻燈片中的形狀轉(zhuǎn)換為圖片
安裝所需的庫(kù)
要在Python中實(shí)現(xiàn)將PPT幻燈片和形狀轉(zhuǎn)換為圖片,可以使用Spire.Presentation for Python庫(kù)。該庫(kù)支持在Python應(yīng)用程序中創(chuàng)建、讀取、編輯和轉(zhuǎn)換PPT文檔。
在開(kāi)始之前,需要先安裝 Spire.Presentation 庫(kù)。運(yùn)行以下命令進(jìn)行安裝:
pip install spire.presentation
使用Python將PowerPoint幻燈片轉(zhuǎn)換為JPG、PNG和BMP圖片
Spire.Presentation提供了兩種方法來(lái)將PPT幻燈片轉(zhuǎn)為JPG、PNG或BMP圖片:
- ISlide.SaveAsImage():按實(shí)際尺寸將幻燈片保存為圖片。
- ISlide.SaveAsImageByWH():按自定義尺寸將幻燈片保存為圖片。
下面將對(duì)這兩種方法逐一進(jìn)行介紹。
按實(shí)際尺寸將幻燈片保存為圖片
以下代碼展示了如何使用 ISlide.SaveAsImage() 方法將PPT幻燈片按照實(shí)際尺寸保存為PNG圖片。你可以通過(guò)更改圖片的擴(kuò)展名到.jpg或.bmp,將幻燈片保存到JPG或BMP圖片格式。
import os
from spire.presentation import *
# 將PPT幻燈片按照實(shí)際尺寸保存為圖片的方法
def ppt_to_images(ppt_file, output_dir):
# 如果輸出文件夾不存在,則創(chuàng)建
os.makedirs(output_dir, exist_ok=True)
# 打開(kāi)PPT文件
presentation = Presentation()
presentation.LoadFromFile(ppt_file)
# 將每張幻燈片保存為PNG圖片
for i, slide in enumerate(presentation.Slides):
image_path = os.path.join(output_dir, f"幻燈片_{i + 1}.png")
image_stream = slide.SaveAsImage()
image_stream.Save(image_path)
# 調(diào)用ppt_to_images方法將PPT文件的幻燈片保存為PNG圖片
ppt_to_images("商業(yè)計(jì)劃書(shū).pptx", "輸出文件夾/幻燈片圖片")以下是第一張幻燈片按實(shí)際尺寸轉(zhuǎn)換而來(lái)的結(jié)果圖片:

按自定義尺寸將幻燈片保存為圖片
以下代碼展示了如何使用 ISlide.SaveAsImageByWH() 方法將 PPT 幻燈片轉(zhuǎn)換為自定義尺寸的圖片:
import os
from spire.presentation import *
# 將PPT幻燈片按照自定義尺寸保存為圖片的方法
def ppt_to_images_with_custom_dimension(ppt_file, output_dir, width, height):
# 如果輸出目錄不存在,則創(chuàng)建
os.makedirs(output_dir, exist_ok=True)
# 打開(kāi) PPT 文件
presentation = Presentation()
presentation.LoadFromFile(ppt_file)
# 將每一張幻燈片保存為特定尺寸的 PNG 圖片
for i, slide in enumerate(presentation.Slides):
image_path = os.path.join(output_dir, f"幻燈片_{i + 1}.png")
image_stream = slide.SaveAsImageByWH(width, height)
image_stream.Save(image_path)
# 調(diào)用ppt_to_images_with_custom_dimension方法將 PPT 文件中的幻燈片轉(zhuǎn)換為特定尺寸的 PNG 圖片
ppt_to_images_with_custom_dimension("商業(yè)計(jì)劃書(shū).pptx", "輸出文件夾/幻燈片圖片", width=800, height=600)使用Python將PowerPoint幻燈片轉(zhuǎn)換為SVG圖片
SVG (Scalable Vector Graphics) 是一種矢量格式,可以確保高質(zhì)量縮放而不會(huì)丟失分辨率。
使用 ISlide.SaveToSVG() 方法,可以將PPT幻燈片保存為SVG格式。以下是實(shí)現(xiàn)代碼:
import os
from spire.presentation import *
# 將PPT幻燈片保存為SVG圖片的方法
def ppt_to_svg(ppt_file, output_dir):
# 如果輸出目錄不存在,則創(chuàng)建
os.makedirs(output_dir, exist_ok=True)
# 打開(kāi) PPT文件
presentation = Presentation()
presentation.LoadFromFile(ppt_file)
# 將每一張幻燈片保存為 SVG 圖片
for i, slide in enumerate(presentation.Slides):
image_path = os.path.join(output_dir, f"幻燈片_{i + 1}.svg")
image_stream = slide.SaveToSVG()
image_stream.Save(image_path)
# 調(diào)用ppt_to_svg方法將 PPT 文件中的幻燈片轉(zhuǎn)換為 SVG 圖片
ppt_to_svg("商業(yè)計(jì)劃書(shū).pptx", "輸出文件夾/幻燈片SVG")使用Python將PowerPoint幻燈片轉(zhuǎn)換為多頁(yè)TIFF圖片
TIFF 支持高分辨率和豐富的色彩深度,適合專業(yè)攝影、印刷和掃描等領(lǐng)域。此外TIFF 格式可以包含多頁(yè)圖片,特別適用于掃描文檔和多張圖片的存儲(chǔ)。
Spire.Presentation沒(méi)有提供直接將PPT幻燈片轉(zhuǎn)換為多頁(yè)TIFF圖片的方法,但你可以使用pillow庫(kù)將多張幻燈片的轉(zhuǎn)換結(jié)果合并為多頁(yè)TIFF。
在合并前,請(qǐng)使用以下代碼安裝pillow:
pip install pillow
以下代碼展示了如何將PPT幻燈片轉(zhuǎn)換為多頁(yè)TIFF:
from spire.presentation import *
from PIL import Image
from io import BytesIO
# 將PPT幻燈片保存為多頁(yè)TIFF圖片的方法
def ppt_to_single_tiff(ppt_file, output_path):
# 打開(kāi) PowerPoint 文件
presentation = Presentation()
presentation.LoadFromFile(ppt_file)
# 創(chuàng)建一個(gè)空列表以存儲(chǔ)圖片
images = []
# 遍歷文件中的每一張幻燈片
for slide in presentation.Slides:
# 將幻燈片保存為圖片流
image_stream = slide.SaveAsImage()
# 將圖片流轉(zhuǎn)換為 PIL 圖片
pil_img = Image.open(BytesIO(image_stream.ToArray()))
# 將 PIL 圖片添加到列表
images.append(pil_img)
if images:
# 將圖片合并為多頁(yè) TIFF
images[0].save(output_path, save_all=True, append_images=images[1:], format="TIFF")
# 調(diào)用ppt_to_single_tiff方法將 PPT文件中的幻燈片轉(zhuǎn)換為多頁(yè) TIFF
ppt_to_single_tiff("商業(yè)計(jì)劃書(shū).pptx", "輸出文件夾/幻燈片.tiff")使用Python將PowerPoint幻燈片中的形狀轉(zhuǎn)換為圖片
PPT 幻燈片中常常包含各種形狀。通過(guò)將這些形狀轉(zhuǎn)換為單獨(dú)的圖片,你可以輕松在其他程序中再次使用它們。
以下代碼演示了如何使用 IAutoShape.SaveAsImage() 方法將 PPT幻燈片中的 形狀轉(zhuǎn)換為圖片:
import os
from spire.presentation import *
# 將PPT幻燈片中的形狀單獨(dú)保存為圖片的方法
def shape_to_images(ppt_file, output_dir):
# 如果輸出目錄不存在,則創(chuàng)建
os.makedirs(output_dir, exist_ok=True)
# 打開(kāi) PPT文件
presentation = Presentation()
presentation.LoadFromFile(ppt_file)
# 遍歷PPT中的每一張幻燈片
for i, slide in enumerate(presentation.Slides):
# 遍歷幻燈片上的每個(gè)形狀并將其保存為圖片
for j, shape in enumerate(slide.Shapes):
image_path = os.path.join(output_dir, f"幻燈片_{i + 1}_shape_{j + 1}.png")
image_stream = shape.SaveAsImage()
image_stream.Save(image_path)
# 調(diào)用shape_to_images方法將 PPT幻燈片中的所有形狀保存為圖片
shape_to_images("商業(yè)計(jì)劃書(shū).pptx", "輸出文件夾/形狀圖片")以上就是如何使用 Python 將 PPT 幻燈片和形狀轉(zhuǎn)換為常見(jiàn)的圖片格式如 JPG、PNG、BMP、SVG 或 TIFF的全部?jī)?nèi)容。感謝閱讀!
到此這篇關(guān)于使用Python將PPT的幻燈片和形狀轉(zhuǎn)為多種圖片格式的文章就介紹到這了,更多相關(guān)Python PPT轉(zhuǎn)圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django查找網(wǎng)站項(xiàng)目根目錄和對(duì)正則表達(dá)式的支持
這篇文章主要介紹了Django查找網(wǎng)站項(xiàng)目根目錄和對(duì)正則表達(dá)式的支持,僅供參考,需要的朋友可以參考下2015-07-07
總結(jié)Python變量的相關(guān)知識(shí)
今天給大家?guī)?lái)的是關(guān)于Python基礎(chǔ)的相關(guān)知識(shí),文章圍繞著Python變量的相關(guān)知識(shí)展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
python讀取eml文件并用正則表達(dá)式匹配郵箱的代碼
今天接到一個(gè)需求有一個(gè)同事離職了,但是留下了非常多的郵件,我需要將他的郵件進(jìn)行分類,只要郵件中以@xxx.com結(jié)尾的存放在文件夾中,否則放在另一個(gè)文件夾中,這篇文章主要介紹了python讀取eml文件并用正則匹配郵箱,需要的朋友可以參考下2022-11-11
Python的數(shù)據(jù)類型與標(biāo)識(shí)符和判斷語(yǔ)句詳解
在本篇文章里小編給大家整理了一篇關(guān)于python數(shù)據(jù)類型與標(biāo)識(shí)符和判斷語(yǔ)句的介紹,有需要的朋友們可以學(xué)習(xí)下,希望能夠給你帶來(lái)幫助2021-09-09
mat矩陣和npy矩陣實(shí)現(xiàn)互相轉(zhuǎn)換(python和matlab)
這篇文章主要介紹了mat矩陣和npy矩陣實(shí)現(xiàn)互相轉(zhuǎn)換(python和matlab),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
python基于socketserver實(shí)現(xiàn)并發(fā),驗(yàn)證客戶端的合法性
TCP協(xié)議的socket一次只能和一個(gè)客戶端通信, 而socketsever可以時(shí)間和多個(gè)客戶端通信。本文將講解socketserver的具體使用2021-05-05
Pytorch中TensorDataset,DataLoader的聯(lián)合使用方式
這篇文章主要介紹了Pytorch中TensorDataset,DataLoader的聯(lián)合使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
python處理emoji表情(兩個(gè)函數(shù)解決兩者之間的聯(lián)系)
這篇文章主要介紹了python處理emoji表情,主要通過(guò)兩個(gè)函數(shù)解決兩者之間的聯(lián)系,本文通過(guò)實(shí)例代碼給大家介紹的非常完美,對(duì)python emoji表情的相關(guān)知識(shí)感興趣的朋友一起看看吧2021-05-05

