首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python-pptx:复制幻灯片

Python-pptx:复制幻灯片
EN

Stack Overflow用户
提问于 2018-06-15 06:10:41
回答 6查看 10.9K关注 0票数 8

如何复制幻灯片?

我创建了一个模板幻灯片,我需要复制它并分别编辑每个副本的形状。

或者如何将我的模板幻灯片添加到presentation.slide_layouts?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-07-03 20:24:17

这是我在GitHub上找到的,它对我很有效。我确实为我的项目做了一些改变。您将需要导入六个并复制。我正在使用pptx-6.10

代码语言:javascript
运行
复制
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

然后,您可以通过传入演示文稿和模板的幻灯片索引来创建副本:

代码语言:javascript
运行
复制
copied_slide = duplicate_slide(pres, 4)

我仍然在编辑复制的幻灯片中的形状,一旦我在我的项目中进行得更深入,我就可以更新

票数 7
EN

Stack Overflow用户

发布于 2019-08-21 01:32:12

我想介绍一下复制幻灯片的变通方法。我使用一个模板ppt并填充它。在填充幻灯片之前,我知道模板的哪些幻灯片需要复制以及多久复制一次。然后我要做的是复制幻灯片,并将新的ppt与复制的幻灯片一起保存。保存后,我可以打开带有复制的幻灯片的ppt,并使用pptx填充幻灯片。

代码语言:javascript
运行
复制
import win32com.client
ppt_instance = win32com.client.Dispatch('PowerPoint.Application')
#open the powerpoint presentation headless in background
read_only = True
has_title = False
window    = False
prs = ppt_instance.Presentations.open('path/ppt.pptx',read_only,has_title,window)

nr_slide = 1
insert_index = 1
prs.Slides(nr_slide).Copy()
prs.Slides.Paste(Index=insert_index)

prs.SaveAs('path/new_ppt.pptx')
prs.Close()

#kills ppt_instance
ppt_instance.Quit()
del ppt_instance

在这种情况下,将复制演示文稿的第一张幻灯片,并将其插入到同一演示文稿的第一张幻灯片之后。

希望这对你们中的一些人有帮助!

票数 6
EN

Stack Overflow用户

发布于 2020-07-16 02:49:13

我一直在使用n00by0815's answer,它工作得很好,直到我不得不复制图像。Here是我改编的处理图像的版本。此代码创建图像的本地副本,然后将其添加到幻灯片中。我相信有一种更干净的方法,但这是可行的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50866634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档