主要内容

本页采用了机器翻译。点击此处可查看英文原文。

mlreportgen.ppt.ContentPlaceholder 类

命名空间: mlreportgen.ppt

幻灯片内容的占位符

描述

mlreportgen.ppt.ContentPlaceholder 类的对象代表幻灯片中的内容占位符。您可以将内容占位符替换为图片、视频、表或一个或多个段落。

当您向演示文稿添加幻灯片并且幻灯片布局具有内容占位符时,PPT API 会创建一个 ContentPlaceholder 对象。在默认的 PPT API 中,这些布局具有一个或多个内容占位符:

  • "Title and Content"

  • "Two Content"

  • "Comparison"

  • "Content with Caption"

要查找 ContentPlaceholder 对象,请使用包含内容占位符的幻灯片的 find 方法。若要用图片、视频、表或一个或多个段落替换内容占位符,请使用 ContentPlaceholder 对象的 replace 方法。对于图片或表,replace 方法会将 ContentPlaceholder 对象分别替换为 mlreportgen.ppt.Picturemlreportgen.ppt.Videomlreportgen.ppt.Table 对象。对于段落,PPT API 不会替换 ContentPlaceholder 对象。它将 mlreportgen.ppt.Paragraph 对象添加为 ContentPlaceholder 对象的子对象。

当您将 ContentPlaceholder 对象替换为 PictureVideoTable 对象时,ContentPlaceholder 对象的某些属性不适用于替换后的内容。有关详细信息,请参阅属性

注意

如果用图片替换内容占位符,Microsoft® PowerPoint® 会调整内容占位符的大小以适应图片的大小。如果希望幻灯片中的占位符位置和大小固定,请使用带有图片占位符的幻灯片。请参阅 mlreportgen.ppt.PicturePlaceholder

mlreportgen.ppt.ContentPlaceholder 类是一个 handle 类。

类属性

HandleCompatible
true
ConstructOnLoad
true

有关类属性的信息,请参阅类属性

属性

全部展开

文本的字体系列,指定为字符向量或字符串标量。指定 Microsoft PowerPoint 中的字体列表中出现的字体。要查看字体列表,请在 PowerPoint 的主页选项卡上的字体组中点击字体右侧的箭头。

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

复杂脚本的字体系列,指定为字符向量或字符串标量。指定在需要使用复杂脚本(如阿拉伯语或亚洲语)来呈现文本的区域设置中替换时要使用的字体系列。

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

文本的字体颜色,指定为包含 CSS 颜色名称或十六进制 RGB 值的字符向量或字符串标量

格式
CSS 颜色名称指定一个 CSS 颜色名称。有关 CSS 颜色名称的列表,请参阅 https://www.w3.org/wiki/CSS/Properties/color/keywords
十六进制 RGB 值使用格式 "#RRGGBB"。使用 # 作为第一个字符,并使用两位十六进制数作为红色、绿色和蓝色的值。您可以使用大写或小写字母。

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

示例: "red" 使用 CSS 颜色名称指定红色。

示例: "#0000ff" 使用十六进制 RGB 值指定蓝色。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

文本的字号,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,"11pt" 指定 11 磅。有效的缩写是:

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

是否对文本对象使用粗体,指定为逻辑值 1 (true) 或 0 (false)。当您指定:

  • 1 (true) - 以粗体显示文本。

  • 0 (false) - 使用常规字重文本。

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: logical

是否对文本对象使用斜体,指定为逻辑值 1 (true) 或 0 (false)。当您指定:

  • 1 (true) - 以斜体显示文本。

  • 0 (false) - 以直体显示文本。

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: logical

文本的删除线样式,指定为以下值之一:

  • "single" - 单条水平线

  • "none" - 没有删除线

  • "double" - 双水平线

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

是否将文本对象显示为下标,指定为逻辑值 1 (true) 或 0 (false)。当您指定:

  • 1 (true) - 以下标显示文本。

  • 0 (false) - 将文本渲染为常规字重。

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: logical

是否将文本对象显示为上标,指定为逻辑值 1 (true) 或 0 (false)。当您指定:

  • 1 (true) - 以上标显示文本。

  • 0 (false) - 将文本渲染为常规字重。

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: logical

文本的下划线样式,指定为以下值之一:

描述
"single"单下划线
"double"双下划线
"heavy"粗下划线
"words"仅对单词加下划线(不包括空格)
"dotted"点状下划线
"dottedheavy"粗点状下划线
"dash"虚线下划线
"dashheavy"粗虚线下划线
"dashlong"长虚线下划线
"dashlongheavy"粗长虚线下划线
"dotdash"点划线下划线
"dotdashheavy"粗点划线下划线
"dotdotdash"双点划线下划线
"dotdotdashheavy"粗双点划线下划线
"wavy"波浪下划线
"wavyheavy"粗波浪下划线
"wavydouble"双波浪下划线
"none"无下划线

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

背景色,指定为包含 CSS 颜色名称或十六进制 RGB 值的字符向量或字符串标量

格式
CSS 颜色名称指定一个 CSS 颜色名称。有关 CSS 颜色名称的列表,请参阅 https://www.w3.org/wiki/CSS/Properties/color/keywords
十六进制 RGB 值使用格式 "#RRGGBB"。使用 # 作为第一个字符,并使用两位十六进制数作为红色、绿色和蓝色的值。您可以使用大写或小写字母。

设置 BackgroundColor 属性会将 mlreportgen.ppt.BackgroundColor 格式的对象添加到 Style 属性。将 BackgroundColor 属性设置为空值将删除该对象。

示例: "red" 使用 CSS 颜色名称指定红色。

示例: "#0000ff" 使用十六进制 RGB 值指定蓝色。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

内容占位符中文本的垂直对齐方式,指定为以下值之一:

描述

"top"

垂直对齐至顶部

"bottom"

垂直对齐到表条目的底部

"middle"

垂直对齐到表条目的中间

"topCentered"

垂直对齐到表条目的顶部,水平对齐到表条目的中心

"bottomCentered"

垂直对齐到表条目的底部,水平对齐到表条目的中心

"middleCentered"

垂直对齐到中间,水平对齐到表条目的中心

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

内容占位符名称,指定为字符向量或字符串标量。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

左上角 x 坐标位置,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,"5in" 指定五英寸。有效的缩写是:

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

左上角 y 坐标位置,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,"5in" 指定五英寸。有效的缩写是:

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

内容占位符的宽度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,"5in" 指定五英寸。有效的缩写是:

注意

当内容占位符被图片替换时,此属性不适用。

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

内容占位符的高度,指定为字符向量或字符串标量,其中包含一个数字,后跟一个计量单位的缩写。例如,"5in" 指定五英寸。有效的缩写是:

  • "px" - 像素

  • "cm" - 厘米

  • "in" - 英寸

  • "mm" - 毫米

  • "pc" - 派卡

  • "pt" - 磅

您也可以通过省略单位来指定像素值。例如,"5" 指定 5 像素。

注意

当内容占位符被图片替换时,此属性不适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

内容占位符格式,指定为由 PPT 格式对象组成的元胞数组。

通过将 Style 属性的现有值与包含要添加的格式对象元胞数组连接起来来添加格式对象。例如:

import mlreportgen.ppt.*
ppt = Presentation("My Presentation");
slide = add(ppt,"Title and Content");
content = find(slide,"Content");
placeholderObj = content(1);
placeholderObj.Style = [...
    placeholderObj.Style ....
    {Bold(true),FontColor("red")}...
    ];
replace(placeholderObj,"Test");

请参阅演示格式化方法

注意

此属性仅当您用文本替换内容占位符的内容时才适用。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

此对象的父级,指定为 PPT API 对象。一个 PPT API 对象只能有一个父对象。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

此对象的子元素,指定为由 PPT API 对象组成的元胞数组。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

数据类型: cell

标记,指定为字符向量或字符串标量。PPT API 在创建此对象的过程中生成一个会话唯一标记。生成的标记形式为 CLASS:ID,其中 CLASS 是对象类,ID 是对象的 Id 属性的值。使用此值可帮助确定在生成演示文稿的过程中问题发生的位置。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

目标标识符,指定为字符向量或字符串标量。PPT API 在创建演示文稿元素对象时,会生成一个会话唯一标识符。您可以为 Id 指定自己的值。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

方法

全部展开

示例

全部折叠

在演示文稿中添加四张 Title and Content 幻灯片。将第一张幻灯片的内容占位符替换为文本,第二张幻灯片替换为表,第三张幻灯片替换为图片,第四张幻灯片替换为视频,第五张幻灯片替换为多级列表。

导入 PPT 命名空间,这样您就不必对 PPT API 类使用长而完全限定的名称。

import mlreportgen.ppt.*

创建演示文稿。

ppt = Presentation("myContentPlaceholderPresentation.pptx");
open(ppt);

添加具有 Title and Content 布局的幻灯片。

slide1 = add(ppt,"Title and Content");

使用幻灯片对象的 find 方法查找名为 Title 的占位符对象。

titlePlaceholderObj1 = find(slide1,"Title");

find 方法返回一个 mlreportgen.ppt.TextBoxPlaceholder 对象。

用标题文本替换占位符内容。

replace(titlePlaceholderObj1,"Content Replaced with Paragraph");

使用幻灯片对象的 find 方法查找名为 Content 的占位符对象。

contentPlaceholderObj1 = find(slide1,"Content");

find 方法返回一个 mlreportgen.ppt.ContentPlaceholder 对象。

用段落替换占位符内容。

replace(contentPlaceholderObj1,Paragraph("This is my paragaph"));

添加具有 Title and Content 布局的第二张幻灯片。

slide2 = add(ppt,"Title and Content");

用标题文本替换标题的占位符。

titlePlaceholderObj2 = find(slide2,"Title");
replace(titlePlaceholderObj2,...
    "Content Replaced with Table for Order 2 Magic Square");

用表替换内容占位符。

contentPlaceholderObj2 = find(slide2,"Content");
replace(contentPlaceholderObj2,Table(magic(2)));

添加具有 Title and Content 布局的第三张幻灯片。

slide3 = add(ppt,"Title and Content");

用标题文本替换标题的占位符。

titlePlaceholderObj3 = find(slide3,"Title");
replace(titlePlaceholderObj3,...
    "Content Replaced with Picture of Peppers");

用图片替换内容占位符。

contentPlaceholderObj3 = find(slide3,"Content");
replace(contentPlaceholderObj3,Picture("peppers.png"));

添加具有 Title and Content 布局的第四张幻灯片。

slide4 = add(ppt,"Title and Content");

用标题文本替换标题的占位符。

titlePlaceholderObj4 = find(slide4,"Title");
replace(titlePlaceholderObj4,...
    "Content Replaced with Video of Xylophone");

用图片替换内容占位符。

contentPlaceholderObj4 = find(slide4,"Content");
replace(contentPlaceholderObj4,Video("xylophone_video.mp4"));

添加第五张幻灯片,采用 Title and Content 布局。

slide5 = add(ppt,"Title and Content");

用标题文本替换标题的占位符。

titlePlaceholderObj5 = find(slide5,"Title");
replace(titlePlaceholderObj5,"Content Replaced with a Multilevel List");

为多级列表创建内容。您可以将多级列表表示为包含一个或多个表示子列表的元胞数组的元胞数组。使用 mlreportgen.ppt.Paragraph 对象来格式化列表中的项目。

greenTea = Paragraph("Green Tea");
greenTea.FontColor = "green";

multilevelContent = { ...
    "Coffee", ...
    "Tea", ...
    { ...
        "Black Tea", ...
        greenTea, ...
    }, ...
    "Milk", ...
    };

用多级列表内容替换 Content 占位符。

contentPlaceholderObj4 = find(slide5,"Content");
replace(contentPlaceholderObj4,multilevelContent);

关闭并查看演示文稿。

close(ppt);
rptview(ppt);

以下是生成的幻灯片:

提示

  • 当您替换演示文稿中的占位符内容,然后将该演示文稿用作新演示文稿的模板时,PPT API 为新演示文稿中的内容创建的对象取决于内容的类型,如表所示。

    替换内容新演示文稿中的对象类
    图片mlreportgen.ppt.TemplatePicture
    mlreportgen.ppt.TemplateTable
    段落mlreportgen.ppt.ContentPlaceholder

    有关详细信息,请参阅添加和替换演示文稿内容

  • 要查看 PPT API 为幻灯片对象创建的占位符对象,请查看幻灯片的 Children 属性。例如,当您向演示文稿添加 Title and Content 幻灯片时,Children 属性是一个包含 mlreportgen.ppt.TextBoxPlaceholder 对象和 mlreportgen.ppt.ContentPlaceholder 对象的数组。

    ppt = mlreportgen.ppt.Presentation("test.pptx");
    open(ppt);
    slide = add(ppt,"Title and Content");
    slide.Children(1)
    
    ans = 
    
      TextBoxPlaceholder with properties:
    
                     Bold: []
                     Font: []
        ComplexScriptFont: []
                FontColor: []
                 FontSize: []
                   Italic: []
                   Strike: []
                Subscript: []
              Superscript: []
                Underline: []
          BackgroundColor: []
                   VAlign: []
                     Name: 'Title'
                        X: []
                        Y: []
                    Width: []
                   Height: []
                    Style: []
                 Children: []
                   Parent: [1×1 mlreportgen.ppt.Slide]
                      Tag: 'ppt.TextBoxPlaceholder:6:11'
                       Id: '6:11'

    slide.Children(2)
    
    ans = 
    
      ContentPlaceholder with properties:
    
                     Bold: []
                     Font: []
        ComplexScriptFont: []
                FontColor: []
                 FontSize: []
                   Italic: []
                   Strike: []
                Subscript: []
              Superscript: []
                Underline: []
          BackgroundColor: []
                   VAlign: []
                     Name: 'Content'
                        X: []
                        Y: []
                    Width: []
                   Height: []
                    Style: []
                 Children: []
                   Parent: [1×1 mlreportgen.ppt.Slide]
                      Tag: 'ppt.ContentPlaceholder:7:12'
                       Id: '7:12'

版本历史记录

在 R2015b 中推出