这里有一个对.pptx演示文稿进行子集的函数(不确定对.ppt文件是否有区别)。
Source
def dropSlides(self, slidesToKeep, prs):
"""Return a new presentation that has the correct slide subset.
Param:
- slidesToKeep: index of slides to keep from csv (int list)
- prs: presentation (pptx.presentation)
Return:
- presentation with new slide subset
# get slides to delete
indexesToRemove = [x for x in range(1, len(prs.slides._sldIdLst)+1) if x not in slidesToKeep]
# subset report
for i, slide in enumerate(prs.slides):
# create slide dict
id_dict = {slide.id: [i, slide.rId] for i, slide in enumerate(prs.slides._sldIdLst)}
# iterate thorugh indexes
if i+1 in indexesToRemove:
# get slide id
slide_id = slide.slide_id
# remove slide
prs.part.drop_rel(id_dict[slide_id][1])
del prs.slides._sldIdLst[id_dict[slide_id][0]]
return prs