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

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

用Python拆分PPT
我們還可以在讀取幻燈片之后,將每個或指定的一些幻燈片插入到一個新的演示文稿中并保存,從而實現(xiàn)對PPT的拆分。下面的步驟演示如何將一個PPT中的所有幻燈片拆分成一個單獨的PPT:
- 導(dǎo)入所需模塊。
- 創(chuàng)建 Presentation 實例并載入PowerPoint演示文稿。
- 遍歷演示文稿中的每頁幻燈片。
- 創(chuàng)建新的 Presentation 實例并使用 Presentation.Slides.RemoveAt(0) 方法刪除其中的默認幻燈片。
- 使用 Presentation.Slides.AppendBySlide() 方法將原演示文稿中的幻燈片插入到新的演示文稿中。
- 使用 Presentation.SaveToFile() 方法保存新演示文稿,并釋放資源。
代碼示例
from spire.presentation import *
from spire.presentation.common import *
# 創(chuàng)建 Presentation 類的實例
presentation = Presentation()
# 加載 PowerPoint 演示文稿文件
presentation.LoadFromFile("示例1.pptx")
# 遍歷演示文稿中的每個幻燈片
for slide in presentation.Slides:
# 創(chuàng)建 Presentation 類的實例
slidePresentation = Presentation()
# 刪除默認的幻燈片
slidePresentation.Slides.RemoveAt(0)
# 將幻燈片添加到演示文稿中
slidePresentation.Slides.AppendBySlide(slide)
# 保存演示文稿
slidePresentation.SaveToFile("output/Presentations/幻燈片-%d.pptx" % slide.SlideNumber, FileFormat.Pptx2019)
slidePresentation.Dispose()
以上文章介紹了通過的Python進行PowerPoint演示文稿的合并與拆分的操作,同時提供的步驟介紹以及代碼示例。
相關(guān)文章
簡單分析Python中用fork()函數(shù)生成的子進程
這篇文章主要介紹了Python中用fork()函數(shù)生成的子進程,分析子進程與父進程的執(zhí)行順序,需要的朋友可以參考下2015-05-05
和孩子一起學(xué)習python之變量命名規(guī)則
這篇文章我們給大家總結(jié)了關(guān)于兒童學(xué)習python中的變量命名規(guī)則相關(guān)知識點內(nèi)容,有興趣的朋友跟著參考學(xué)習下。2018-05-05
Python內(nèi)置函數(shù) next的具體使用方法
這篇文章主要介紹了Python內(nèi)置函數(shù) next的具體使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
5個Python使用F-String進行格式化的實用技巧分享
F-String(格式化字符串字面值)是在Python?3.6中引入的,它是一種非常強大且靈活的字符串格式化方法,本文總結(jié)了5個實用的F-String技巧,相信一定能讓你的代碼輸出更加的美觀,快跟隨小編一起學(xué)習起來吧2024-03-03

