В библиотеке Python python-pptxвы можете вставить слайд по определенному индексу, используя следующие методы:
-
Использование
prs.slides.add_slide(slide_layout):
Этот метод добавляет новый слайд в конце презентации и позволяет указать желаемый макет слайда.. Чтобы вставить слайд по определенному индексу, вы можете создать новый слайд с помощью этого метода, а затем переместить его в нужное положение.from pptx import Presentation prs = Presentation('presentation.pptx') slide_layout = prs.slide_layouts[1] # Choose the desired slide layout new_slide = prs.slides.add_slide(slide_layout) prs.slides._sldIdLst.insert(index, new_slide._element) -
Использование
prs.slides._sldIdLst.insert(index,lide_element):
Этот метод напрямую вставляет элемент слайда по указанному индексу в списке слайдов. Вам необходимо создать элемент слайда отдельно, а затем вставить его в нужное место.from pptx import Presentation from pptx.oxml import ns from pptx.oxml import parse_xml prs = Presentation('presentation.pptx') slide_layout = prs.slide_layouts[1] # Choose the desired slide layout new_slide = parse_xml(r"<p:sld xmlns:p='http://schemas.openxmlformats.org/presentationml/2006/main'><p:cSld><p:spTree/></p:cSld></p:sld>") new_slide_id = prs.slides._next_slide_id new_slide._element.set(ns.qn('r:id'), new_slide_id) prs.slides._sldIdLst.insert(index, new_slide)
Обратите внимание, что в обоих методах вам следует заменить 'presentation.pptx'фактическим путем к файлу презентации PowerPoint, а index– желаемым индексом, в котором вы хотите вставить слайд (индекс отсчитывается от 0).