scanny / python-pptx

Create Open XML PowerPoint documents in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Slide duplicate Microsoft office interprets python-pptx powerpoint files as corrupted

haoyjp opened this issue · comments

import copy
import pptx
def copy_slide(pres, slide_index):
def _get_blank_slide_layout(pres):
layout_items_count = [len(layout.placeholders) for layout in pres.slide_layouts]
min_items = min(layout_items_count)
blank_layout_id = layout_items_count.index(min_items)
return pres.slide_layouts[blank_layout_id]

blank_slide_layout = _get_blank_slide_layout(pres)
source=pres.slides[slide_index]
dest = pres.slides.add_slide(blank_slide_layout)
rels = source.part.rels
#for key, value in source.part.rels.items():
for key, value in rels.items():
    # Make sure we don't copy a notesSlide relation as that won't exist
    if not "notesSlide" in value.reltype:
            dest.part.rels._add_relationship(value.reltype, value._target, False)

print(pptx.version)
prs=pptx.Presentation('old.pptx')
copy_slide(prs, 1)
prs.save("new.pptx")