使用Python代碼進(jìn)行PowerPoint演示文稿的合并與拆分
引言
多個(gè)PowerPoint演示文稿的處理可能會成為非常麻煩的工作。有時(shí)需要將多個(gè)演示文稿合并為一個(gè)演示文稿,從而不用在演示時(shí)重復(fù)打開演示文稿;有時(shí)又需要將單個(gè)演示文稿拆分為多個(gè)演示文稿,用于其他目的或進(jìn)行分發(fā)。手動進(jìn)行這些操作會非常麻煩,且容易出錯(cuò),我們可以使用Python代碼來快速、準(zhǔn)確的執(zhí)行PowerPoint演示文稿的合并于拆分操作。
本文所使用的方法需要用到Spire.Presentation for Python,可從官網(wǎng)獲取或通過PyPI:pip install Spire.Presentation。
用Python合并PPT并保留原設(shè)計(jì)
合并 PowerPoint 演示文稿可以通過讀取一個(gè)演示文稿中的幻燈片并將其添加到另一個(gè)演示文稿中來實(shí)現(xiàn)。在添加到目標(biāo)演示文稿的過程中,我們可以使用 Presentation.Slides.AppendBySlide(ISlide) 方法來在添加幻燈片的同時(shí),保留幻燈片的原設(shè)計(jì)效果。以下是操作步驟:
導(dǎo)入所需模塊。
- 創(chuàng)建兩個(gè) Presentation 類實(shí)例。
- 使用 Presentation.LoadFromFile() 方法加載兩個(gè) PowerPoint 演示文稿。
- 使用 Presentation.Slides.AppendBySlide() 方法遍歷第二份演示文稿中的每張幻燈片,并將它們添加到第一份演示文稿中,同時(shí)保留它們的設(shè)計(jì)。
- 使用 Presentation.SaveToFile() 方法保存第一個(gè)演示文稿。
- 釋放資源。
代碼示例
from spire.presentation import *
from spire.presentation.common import *
# 創(chuàng)建兩個(gè) Presentation 類的實(shí)例
pres1 = Presentation()
pres2 = Presentation()
# 加載兩個(gè)演示文稿文件
pres1.LoadFromFile("示例1.pptx")
pres2.LoadFromFile("示例2.pptx")
# 逐個(gè)處理第二個(gè)演示文稿的幻燈片
for slide in pres2.Slides:
# 將每個(gè)幻燈片添加到第一個(gè)演示文稿中,并保留原始設(shè)計(jì)
pres1.Slides.AppendBySlide(slide)
# 保存第一個(gè)演示文稿
pres1.SaveToFile("output/合并PPT.pptx", FileFormat.Pptx2016)
pres1.Dispose()
pres2.Dispose()
合并效果

用Python合并PPT并統(tǒng)一設(shè)計(jì)
在插入幻燈片到演示文稿時(shí),還可以使用 Presentation.Slides.AppendByMaster(slide Islide, master IMasterSlide) 方法來插入幻燈片到目標(biāo)演示文稿并將幻燈片的設(shè)計(jì)更改為目標(biāo)演示文稿的設(shè)計(jì)。這樣就可以合并演示文稿并確保設(shè)計(jì)的一致性。以下是操作步驟:
- 導(dǎo)入所需模塊。
- 創(chuàng)建兩個(gè) Presentation 類實(shí)例。
- 使用 Presentation.LoadFromFile() 方法加載兩個(gè) PowerPoint 演示文稿。
- 使用 Presentation.Slides.AppendByMaster() 方法遍歷第二份演示文稿中的每張幻燈片,并將它們添加到第一份演示文稿中,同時(shí)將它們的設(shè)計(jì)更改為第一份演示文稿的設(shè)計(jì)。
- 使用 Presentation.SaveToFile() 方法保存第一個(gè)演示文稿。
- 釋放資源。
代碼示例
from spire.presentation import *
from spire.presentation.common import *
# 創(chuàng)建兩個(gè) Presentation 實(shí)例
pres1 = Presentation()
pres2 = Presentation()
# 加載兩個(gè)演示文稿文件
pres1.LoadFromFile("示例1.pptx")
pres2.LoadFromFile("示例2.pptx")
# 逐個(gè)處理第二個(gè)演示文稿中的每個(gè)幻燈片
for slide in pres2.Slides:
# 使用第一個(gè)演示文稿的母版幻燈片將每個(gè)幻燈片添加到第一個(gè)演示文稿中
pres1.Slides.AppendByMaster(slide, pres1.Masters[0])
# 保存第一個(gè)演示文稿
pres1.SaveToFile("output/合并PPT統(tǒng)一設(shè)計(jì).pptx", FileFormat.Pptx2016)
pres1.Dispose()
pres2.Dispose()
合并效果

用Python拆分PPT
我們還可以在讀取幻燈片之后,將每個(gè)或指定的一些幻燈片插入到一個(gè)新的演示文稿中并保存,從而實(shí)現(xiàn)對PPT的拆分。下面的步驟演示如何將一個(gè)PPT中的所有幻燈片拆分成一個(gè)單獨(dú)的PPT:
- 導(dǎo)入所需模塊。
- 創(chuàng)建 Presentation 實(shí)例并載入PowerPoint演示文稿。
- 遍歷演示文稿中的每頁幻燈片。
- 創(chuàng)建新的 Presentation 實(shí)例并使用 Presentation.Slides.RemoveAt(0) 方法刪除其中的默認(rèn)幻燈片。
- 使用 Presentation.Slides.AppendBySlide() 方法將原演示文稿中的幻燈片插入到新的演示文稿中。
- 使用 Presentation.SaveToFile() 方法保存新演示文稿,并釋放資源。
代碼示例
from spire.presentation import *
from spire.presentation.common import *
# 創(chuàng)建 Presentation 類的實(shí)例
presentation = Presentation()
# 加載 PowerPoint 演示文稿文件
presentation.LoadFromFile("示例1.pptx")
# 遍歷演示文稿中的每個(gè)幻燈片
for slide in presentation.Slides:
# 創(chuàng)建 Presentation 類的實(shí)例
slidePresentation = Presentation()
# 刪除默認(rèn)的幻燈片
slidePresentation.Slides.RemoveAt(0)
# 將幻燈片添加到演示文稿中
slidePresentation.Slides.AppendBySlide(slide)
# 保存演示文稿
slidePresentation.SaveToFile("output/Presentations/幻燈片-%d.pptx" % slide.SlideNumber, FileFormat.Pptx2019)
slidePresentation.Dispose()
以上文章介紹了通過的Python進(jìn)行PowerPoint演示文稿的合并與拆分的操作,同時(shí)提供的步驟介紹以及代碼示例。
相關(guān)文章
pandas讀取Excel批量轉(zhuǎn)換時(shí)間戳的實(shí)踐
本文主要介紹了pandas讀取Excel批量轉(zhuǎn)換時(shí)間戳的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
python 計(jì)算積分圖和haar特征的實(shí)例代碼
今天小編就為大家分享一篇python 計(jì)算積分圖和haar特征的實(shí)例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python+ollama自己寫代碼調(diào)用本地deepseek模型
本文主要介紹了python+ollama自己寫代碼調(diào)用本地deepseek模型,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
使用Python微信庫itchat獲得好友和群組已撤回的消息
這篇文章主要介紹了使用Python微信庫itchat獲得好友和群組已撤回的消息,需要的朋友可以參考下2018-06-06

