使用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)文章
python如何讀寫(xiě)json數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了python如何讀寫(xiě)json數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03在Django中創(chuàng)建第一個(gè)靜態(tài)視圖
這篇文章主要介紹了在Django中創(chuàng)建第一個(gè)靜態(tài)視圖的方法,與其他編程語(yǔ)言的開(kāi)始一樣,以Hello world作為示例,需要的朋友可以參考下2015-07-07Python辦公自動(dòng)化之?dāng)?shù)據(jù)預(yù)處理和數(shù)據(jù)校驗(yàn)詳解
這篇文章主要為大家詳細(xì)介紹了Python辦公自動(dòng)化中數(shù)據(jù)預(yù)處理和數(shù)據(jù)校驗(yàn)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下2024-01-01Python程序設(shè)計(jì)入門(5)類的使用簡(jiǎn)介
這篇文章主要介紹了Python類的使用,需要的朋友可以參考下2014-06-06python解釋模型庫(kù)Shap實(shí)現(xiàn)機(jī)器學(xué)習(xí)模型輸出可視化
Shap 是一個(gè)開(kāi)源的 python 庫(kù),用于解釋模型。它可以創(chuàng)建多種類型的可視化,有助于了解模型和解釋模型是如何工作的。在本文中,我們將會(huì)分享一些Shap創(chuàng)建的不同類型的機(jī)器學(xué)習(xí)模型可視化2021-11-11Python基于回溯法子集樹(shù)模板解決m著色問(wèn)題示例
這篇文章主要介紹了Python基于回溯法子集樹(shù)模板解決m著色問(wèn)題,簡(jiǎn)單描述了m著色問(wèn)題并結(jié)合實(shí)例形式分析了Python使用回溯法子集樹(shù)模板解決m著色問(wèn)題的具體步驟與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2017-09-09用pytorch的nn.Module構(gòu)造簡(jiǎn)單全鏈接層實(shí)例
今天小編就為大家分享一篇用pytorch的nn.Module構(gòu)造簡(jiǎn)單全鏈接層實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Python報(bào)錯(cuò):PermissionError:?[Errno?13]?Permission?denied的解
這篇文章主要給大家介紹了關(guān)于Python報(bào)錯(cuò):PermissionError:?[Errno?13]?Permission?denied的解決辦法,文中給出了詳細(xì)的解決辦法,需要的朋友可以參考下2022-02-02