如何使用 python-pptx 复制幻灯片?

2024-01-05

如何复制幻灯片?

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

或者我如何将模板幻灯片添加到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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 python-pptx 复制幻灯片? 的相关文章

随机推荐

  • Heroku/Django:没有名为 dj_database_url 的模块

    我第一次尝试在 Django 上设置 PostgresQL 当我尝试执行 syndb 时遇到此错误 ImportError 无法导入设置 testapp settings 它在 sys path 上吗 我的 settings py 文件的顶
  • 更新到.Net 4.7.1框架

    因此 我有一个自 2011 年以来一直存在的项目 间歇性地添加了库和解决方案中的其他项目 我正在尝试将所有库和项目更新到 4 7 1 我在属性 gt 应用程序 gt 目标框架中将所有库和项目设置为 4 7 1 框架 但是 我收到警告 调试错
  • Sphinx搜索排名破了?

    有人曾经使用过 Sphinx 排名选项吗 我已经阅读了手册和书籍 但根本无法进行排名 据我了解 排名只是以不同的方式计算权重 不进行任何类型的排序 我的结果按 weight 内部sphinx字段 排序并使用扩展排序模式 您需要这样做 但看不
  • 找不到类 oauth.signpost.commonshttp.CommonsHttpOAuthConsumer

    我昨天必须格式化并重新开始 我正在尝试让我的项目重新启动并运行 我使用路标库进行 OAuth 身份验证 我已经导入了我的项目 并且 Eclipse 在文本编辑器中没有给出任何错误 但是 当我运行我的应用程序并点击 oauth 代码时 我的应
  • 如何使用webpack获取脚本中的原始文件路径?

    示例代码 in the file app module js module exports framework module app require api api module name in the file app api api m
  • Odoo 10 使用 search() 方法搜索活动和非活动记录

    我有 Many2many 字段 location from ids 并尝试查找 location ids 的所有子项 location from ids fields Many2many comodel name stock locatio
  • 如何在 WPF KeyDown 事件中正确检索修饰键?

    我看过很多建议使用的答案Keyboard Modifiers来确定是否KeyDown事件适用于设置了修饰符的键 不幸的是 因为Keyboard Modifiers返回current修改器的状态 而不是按下按键时修改器的状态 这会导致快速打字
  • 从 Perl 中的文本文件读取时跳过标题的最佳方法?

    我正在 Perl 中从制表符界定的文件中获取几列 文件的第一行与其他行完全不同 因此我想尽可能快速有效地跳过该行 这是我到目前为止所拥有的 my firstLine 1 while
  • Promise 的resolve 和reject 函数的返回类型是什么?

    我试图找到我用 typescript 创建的 Promise 的解析和拒绝函数的返回类型 以便 tslint 不会根据 typedef 规则进行抱怨 这是代码 承诺 ts const promise Promise
  • JSON 对象通过 jQuery post 到 php

    我知道 有很多问题 但没有一个对我有用 我用 javascript 中的普通 javascript 对象构建了一个数组 并通过jquery post到服务器 但是在服务器上 我无法使用访问数据php obj gt value 我试过json
  • HTML 右浮动元素顺序

    如果我有三个向右浮动的元素 为什么顺序如下 请参阅 jsfiddle 元素 1 是右侧的第一个元素 而元素 3 实际上是最后一个元素 现在下单了 3 2 1 但元素在html中是按这个顺序排列的 1 2 3 Why http jsfiddl
  • 如何使用反应本机图像选择器添加多个图像

    我正在构建一个简单的社交媒体应用程序 用户可以添加状态 位置 来自 YouTube 的视频和照片 但我在使用反应本机图像选择器上传多个图像时遇到问题 我已阅读文档但不知道如何解决问题 这是我的功能代码 onPhotoPress const
  • Scala 相当于 new HashSet(Collection)

    等效的 Scala 构造函数是什么 创建一个不可变的 HashSet 到 Java new HashSet
  • 如何从 PythonGDB (GDB 7.1) 中的 gdb.execute 获取输出?

    我目前正在编写一个Python GDB 脚本 问题是它必须与 GDB 7 1 兼容 因此 我首先为 GDB 7 3 1 编写了脚本 并使用以下函数来接收 gdb 命令 GDB 7 3 1 的输出 myvar gdb execute info
  • 通过属性获取元素

    我会很短 据我所知 watir 库提供了两种获取 html 元素的方法 几乎对于每个元素 div button table li 等 watir 都提供了两种方法 一种是 单一 方法 仅获取一个特定元素 例如 watir instance
  • 为什么“[x]y”在 RTL 方向显示不正确?

    div x y div 您可以看到 HTML 文本 x y显示为x y 造成这个结果的原因是什么 PS 我在 Chrome 56 0 2924 87 64 位 中得到了这个结果 我无法告诉你原因 但我可以告诉你如何解决它 添加unicode
  • 禁用按钮上的 Jquery UI 工具提示

    我正在尝试显示禁用按钮的工具提示 我不确定 jquery 事件是否会针对禁用元素触发 但我正在尝试检查是否可以显示禁用项目的工具提示 我的例子是here http jsfiddle net jkLzuh0o 1 p Your age p
  • 如何在 Angular 4 中切换(显示/隐藏)元素?

    这是我的 html 元素
  • Sentry/NLog 集成未记录到 Sentry

    我正在使用最新的 Sentry NLog 软件包 如下所示 但由于某种原因 我的错误开始记录到 NLog 而不是 Sentry 我可以看到 Sentry 正在初始化 但它从不记录任何内容 同时 错误会毫无问题地记录到 NLog 中 这些是我
  • 如何使用 python-pptx 复制幻灯片?

    如何复制幻灯片 我创建了一个模板幻灯片 我需要复制它并分别编辑每个副本的形状 或者我如何将模板幻灯片添加到presentation slide layouts 这是我在 GitHub 上找到的 它对我有用 我确实为我的项目改变了一些东西 您