【问题标题】:Alter slide layout with Python pptx使用 Python pptx 更改幻灯片布局
【发布时间】:2022-05-13 00:03:31
【问题描述】:

我正在尝试更改布局上的一些文本,这些文本将用于几张幻灯片。我将为多个不同的方创建相同的 pptx 文档,并且我想根据 pptx 的对象来更改布局上的文本。

我知道可以得到如下幻灯片布局。是否可以编辑布局上的形状?

import pptx

prs = pptx.Presentation(importPath)

layouts = prs.slide_layouts
layout1 = layouts[0]

## Edit layout1's shapes here...

【问题讨论】:

    标签: python-pptx


    【解决方案1】:

    幻灯片版式是幻灯片的一种特殊变体,因此它还有一个.shapes 属性,您可以使用它来访问版式上的形状。其中许多将是占位符,但背景形状(例如文本框或图片/徽标)也将在那里。访问后,这些形状的操作方式与其他任何幻灯片上的形状相同。

    【讨论】:

      【解决方案2】:

      这是一个脚本,它将修改其中一个布局幻灯片中标题形状的文本。它还包括列出该布局上所有占位符和形状的代码。这对于确定如何访问要修改的形状很有用。

      from pptx import Presentation
      
      prs = Presentation()                    # create a new blank presentation
      idx_layout = 1
      slide = prs.slide_layouts[idx_layout]   # reference a specific layout
      
      print('Placeholder indices for template %d' % (idx_layout))
      for shape in slide.placeholders:
              print('idx:{:>3d}   name: {}'.format(shape.placeholder_format.idx, shape.name))
      
      print('\nList of shapes for template %d' % (idx_layout))
      for shape in slide.shapes:
          print(shape.name)
      
      slide.shapes[0].text = "New Title"      # set the text in the first shape
      prs.save("test.pptx")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-24
        • 2022-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多