使用Python代碼進(jìn)行PowerPoint演示文稿的合并與拆分
引言
多個(gè)PowerPoint演示文稿的處理可能會(huì)成為非常麻煩的工作。有時(shí)需要將多個(gè)演示文稿合并為一個(gè)演示文稿,從而不用在演示時(shí)重復(fù)打開(kāi)演示文稿;有時(shí)又需要將單個(gè)演示文稿拆分為多個(gè)演示文稿,用于其他目的或進(jìn)行分發(fā)。手動(dòng)進(jìn)行這些操作會(huì)非常麻煩,且容易出錯(cuò),我們可以使用Python代碼來(lái)快速、準(zhǔn)確的執(zhí)行PowerPoint演示文稿的合并于拆分操作。
本文所使用的方法需要用到Spire.Presentation for Python,可從官網(wǎng)獲取或通過(guò)PyPI:pip install Spire.Presentation。
用Python合并PPT并保留原設(shè)計(jì)
合并 PowerPoint 演示文稿可以通過(guò)讀取一個(gè)演示文稿中的幻燈片并將其添加到另一個(gè)演示文稿中來(lái)實(shí)現(xiàn)。在添加到目標(biāo)演示文稿的過(guò)程中,我們可以使用 Presentation.Slides.AppendBySlide(ISlide) 方法來(lái)在添加幻燈片的同時(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) 方法來(lái)插入幻燈片到目標(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)對(duì)PPT的拆分。下面的步驟演示如何將一個(gè)PPT中的所有幻燈片拆分成一個(gè)單獨(dú)的PPT:
- 導(dǎo)入所需模塊。
- 創(chuàng)建 Presentation 實(shí)例并載入PowerPoint演示文稿。
- 遍歷演示文稿中的每頁(yè)幻燈片。
- 創(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()
以上文章介紹了通過(guò)的Python進(jìn)行PowerPoint演示文稿的合并與拆分的操作,同時(shí)提供的步驟介紹以及代碼示例。
相關(guān)文章
酷! 程序員用Python帶你玩轉(zhuǎn)沖頂大會(huì)
程序員用Python玩轉(zhuǎn)王思聰?shù)摹稕_頂大會(huì)》,感興趣的小伙伴們可以參考一下2018-01-01簡(jiǎn)單分析Python中用fork()函數(shù)生成的子進(jìn)程
這篇文章主要介紹了Python中用fork()函數(shù)生成的子進(jìn)程,分析子進(jìn)程與父進(jìn)程的執(zhí)行順序,需要的朋友可以參考下2015-05-05基于Python實(shí)現(xiàn)打哈欠檢測(cè)詳解
這篇文章主要介紹了如何利用Python+OpenCV實(shí)現(xiàn)人打哈欠檢測(cè),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,感興趣的可以了解一下2022-04-04和孩子一起學(xué)習(xí)python之變量命名規(guī)則
這篇文章我們給大家總結(jié)了關(guān)于兒童學(xué)習(xí)python中的變量命名規(guī)則相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友跟著參考學(xué)習(xí)下。2018-05-05Python內(nèi)置函數(shù) next的具體使用方法
這篇文章主要介紹了Python內(nèi)置函數(shù) next的具體使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-115個(gè)Python使用F-String進(jìn)行格式化的實(shí)用技巧分享
F-String(格式化字符串字面值)是在Python?3.6中引入的,它是一種非常強(qiáng)大且靈活的字符串格式化方法,本文總結(jié)了5個(gè)實(shí)用的F-String技巧,相信一定能讓你的代碼輸出更加的美觀,快跟隨小編一起學(xué)習(xí)起來(lái)吧2024-03-03