PPT文本——PPTText

PPTText表示PPT文本元素,注意是文本元素整体,而非其中的一部分,比如下图中的虚线框区域就是一个PPT文本

text1

如果我们希望在一个PPTText对象中包含不同段落,如上图效果,其中包含了两个段落,分别是:PPTShow is a free open source Java native generation of PPT toolkit.support the 2010 version of the new features of PPT , does not rely on any third-party components , Linux, Windows can be used smoothly .

其中每一个段落都是一个 PPTInnerLine 对象。

段落中还可能存在多种文本呈现样式,它们紧密挨在一起,没有换行。

比如 2010 version 和前后文本就存在差异,此时相当于一个 PPTInnerLine对象包含了三个 PPTInnerText 对象,其中第一个和第三个样式相同,第二个有加粗和红色特殊效果。(如下图所示,每个线框部分都代表一个 PPTInnerText 对象)

text2

创建PPTText

您可以通过以下方式创建一个PPTText对象,两种方式没有任何差别:

PPTText pptText = new PPTText();
PPTText pptText = PPTText.build();

您还可以在创建的时候直接绑定PPTInnerLine对象集合:

只有一个PPTInnerLine时,可以使用以下方式创建 PPTText 对象,两种方式没有任何差别:

PPTText pptText = new PPTText(PPTInnerLine line);
PPTText pptText = PPTText.build(PPTInnerLine line);

有多个的时候,可以使用以下方式创建 PPTText 对象,两种方式没有任何差别:

PPTText pptText = new PPTText(List<PPTInnerLine> lineList);
PPTText pptText = PPTText.build(List<PPTInnerLine> textList);

你还可以在创建的时候直接绑定样式文件:

PPTText pptText = new PPTText(PPTInnerLine line, PPTTextCss css);
PPTText pptText = PPTText.build(PPTInnerLine line, PPTTextCss css);
PPTText pptText = new PPTText(List<PPTInnerLine> lineList, PPTTextCss css);
PPTText pptText = PPTText.build(List<PPTInnerLine> textList, PPTTextCss css);

获取最小宽度

double findMinWidthSize()

在每一个段落都不折行的情况下,最小需要的宽度

获取最小高度

double findMinHeightSize()

获取当前宽度下,最小需要的高度值。

实际上即便是设定的样式中高度比最小高度小,文本也会自动溢出显示,不会影响展示。

获取全部文本

String findAllText()

获取文本对象所有段落、所有段落内文本中的全部文本信息。

返回信息包含换行符,可以用换行符区分段落信息,但段落内文本无法区分出来。

举例:

text3

上图 PPTText 对象调用 findAllText() 方法后会获得如下文本:

PPTShow is a free open source Java native generation of PPT toolkit.
support the 2010 version of the new features of PPT. 

添加段落

在结尾处追加一个段落:

PPTText add(PPTInnerLine text)

在结尾处追加多个段落:

PPTText addAll(Collection<PPTInnerLine> text)

您也可以直接取出段落List对象自行修改操作,支持get和set操作

@Setter
@Getter
private List<PPTInnerLine> lineList = Lists.newArrayList();

设定样式

您可以通过 css 属性来设置样式信息,接下来我们将详细讲解 PPTTextCss 属性及含义。

@Getter
@Setter
private PPTTextCss css;

PPTTextCss

PPTText 对应的样式表对象

left

private double left;

距离页面左边距离,单位:cm

top

private double top;

距离页面顶边距离,单位:cm

width

private double width;

元素宽度,单位:cm,默认为最小宽度

height

private double height;

元素高度,单位:cm,默认为最小高度

lineHeight

private double lineHeight;

行高,单位:倍行距,默认为1

background

private Background background

背景样式,请参考【参考文档】-【通用样式】-【background背景】

angle

private double angle;

旋转角度,指顺时针旋转角度,默认为0表示不旋转。

合法取值范围:0 ≤ angle < 360

name

private String name = "文本";

元素名称,默认为 “文本”,正常放映PPT时看不到此信息

在设置元素动画等场景下,会在动画窗格里展示元素名称信息

在同一页幻灯片中允许出现重复name