Я хочу создать новый слайд, используя тот же макет, что и у старого слайда, но содержимое нового.
Слайд 1 Слайд 2
Мне нужен слайд 2, чтобы изменить егодизайн для слайда 1, сохраняя при этом его текстовое содержимоеМне удалось скопировать точные слайды с помощью приведенного ниже кода, но он не идеален и все перезаписывает.
def copy_external(external, new):
# copy from external presentation all objects into the existing presentation
external_pres = external
# specify the slide you want to copy the contents from
ext_slide = external_pres.slides[1]
# Define the layout you want to use from your generated pptx
# slide_layout = new.slide_layouts[0]
# lay = external.slide_layouts.index()
# lay = external.slide_layouts.get_by_name()
slide_layout = new.slide_layouts[6]
# create now slide, to copy contents to
curr_slide = new.slides.add_slide(slide_layout)
# now copy contents from external slide, but do not copy slide properties
# e.g. slide layouts, etc., because these would produce errors, as diplicate
# entries might be generated
for shp in ext_slide.shapes:
el = shp.element
newel = copy.deepcopy(el)
curr_slide.shapes._spTree.insert_element_before(newel, 'p:extLst')
#curr_slide.SlideShapes.add_shape(new_shape)
return new.save('test1.pptx')