如何复制幻灯片?
我创建了一个模板幻灯片,我需要复制它并分别编辑每个副本的形状。
或者如何将我的模板幻灯片添加到presentation.slide_layouts?
最佳答案
这是我在 GitHub 上找到的,它对我有用。我确实为我的项目更改了一些东西。您将需要导入六个并复制。我正在使用 pptx-6.10
def duplicate_slide(pres, index):
template = pres.slides[index]
try:
blank_slide_layout = pres.slide_layouts[12]
except:
blank_slide_layout = pres.slide_layouts[len(pres.slide_layouts)]
copied_slide = pres.slides.add_slide(blank_slide_layout)
for shp in template.shapes:
el = shp.element
newel = copy.deepcopy(el)
copied_slide.shapes._spTree.insert_element_before(newel, 'p:extLst')
for _, value in six.iteritems(template.part.rels):
# Make sure we don't copy a notesSlide relation as that won't exist
if "notesSlide" not in value.reltype:
copied_slide.part.rels.add_relationship(
value.reltype,
value._target,
value.rId
)
return copied_slide
然后,您可以通过传入演示文稿和模板的幻灯片索引来创建副本:
copied_slide = duplicate_slide(pres, 4)
我仍在编辑复制的幻灯片中的形状,一旦我在我的项目中进一步发展,我就可以更新