一、基础元素类型
PPTist 中所有的元素都继承自 PPTElement 基础类型,包含以下几种:
- 文本元素 (PPTTextElement)
- 图片元素 (PPTImageElement)
- 形状元素 (PPTShapeElement)
- 线条元素 (PPTLineElement)
- 图表元素 (PPTChartElement)
- 表格元素 (PPTTableElement)
- LaTeX元素 (PPTLatexElement)
- 视频元素 (PPTVideoElement)
- 音频元素 (PPTAudioElement)
二、元素通用属性 (PPTBaseElement)
属性 | 类型 | 说明 |
---|
id | string | 元素ID |
left | number | 元素水平方向位置(距离画布左侧) |
top | number | 元素垂直方向位置(距离画布顶部) |
width | number | 元素宽度 |
height | number | 元素高度 |
rotate | number | 旋转角度 |
lock? | boolean | 锁定元素 |
groupId? | string | 组合ID |
link? | PPTElementLink | 超链接 |
name? | string | 元素名 |
超链接 (PPTElementLink)
属性 | 类型 | 说明 |
---|
type | ‘web’ | ‘slide’ | 链接类型(网页、幻灯片页面) |
target | string | 目标地址(网页链接、幻灯片页面ID) |
三、通用样式定义
元素阴影 (PPTElementShadow)
属性 | 类型 | 说明 |
---|
h | number | 水平偏移量 |
v | number | 垂直偏移量 |
blur | number | 模糊程度 |
color | string | 阴影颜色 |
元素边框 (PPTElementOutline)
属性 | 类型 | 说明 |
---|
style? | ‘dashed’ | ‘solid’ | 边框样式(实线或虚线) |
width? | number | 边框宽度 |
color? | string | 边框颜色 |
四、具体元素定义
1. 文本元素 (PPTTextElement)
属性 | 类型 | 说明 |
---|
type | ‘text’ | 元素类型 |
content | string | 文本内容(HTML字符串) |
defaultFontName | string | 默认字体 |
defaultColor | string | 默认颜色 |
outline? | PPTElementOutline | 边框 |
fill? | string | 填充色 |
lineHeight? | number | 行高(倍) |
wordSpace? | number | 字间距 |
opacity? | number | 不透明度 |
shadow? | PPTElementShadow | 阴影 |
paragraphSpace? | number | 段间距 |
vertical? | boolean | 竖向文本 |
2. 图片元素 (PPTImageElement)
属性 | 类型 | 说明 |
---|
type | ‘image’ | 元素类型 |
src | string | 图片地址 |
fixedRatio | boolean | 固定图片宽高比例 |
outline? | PPTElementOutline | 边框 |
filters? | ImageElementFilters | 图片滤镜 |
clip? | ImageElementClip | 裁剪信息 |
flipH? | boolean | 水平翻转 |
flipV? | boolean | 垂直翻转 |
shadow? | PPTElementShadow | 阴影 |
colorMask? | string | 颜色蒙版 |
3. 形状元素 (PPTShapeElement)
属性 | 类型 | 说明 |
---|
type | ‘shape’ | 元素类型 |
viewBox | [number, number] | SVG的viewBox属性 |
path | string | 形状路径 |
fixedRatio | boolean | 固定形状宽高比例 |
fill | string | 填充色 |
gradient? | ShapeGradient | 渐变 |
outline? | PPTElementOutline | 边框 |
opacity? | number | 不透明度 |
flipH? | boolean | 水平翻转 |
flipV? | boolean | 垂直翻转 |
shadow? | PPTElementShadow | 阴影 |
special? | boolean | 特殊形状标记 |
text? | ShapeText | 形状内文本 |
pathFormula? | ShapePathFormulasKeys | 形状路径计算公式 |
keypoints? | number[] | 关键点位置百分比 |
4. 线条元素 (PPTLineElement)
属性 | 类型 | 说明 |
---|
type | ‘line’ | 元素类型 |
start | [number, number] | 起点位置 |
end | [number, number] | 终点位置 |
style | string | 线条样式 |
color | string | 线条颜色 |
points | [LinePoint, LinePoint] | 端点样式 |
shadow? | PPTElementShadow | 阴影 |
broken? | [number, number] | 折线控制点位置 |
broken2? | [number, number] | 双折线控制点位置 |
curve? | [number, number] | 二次曲线控制点位置 |
cubic? | [[number, number], [number, number]] | 三次曲线控制点位置 |
5. 图表元素 (PPTChartElement)
属性 | 类型 | 说明 |
---|
type | ‘chart’ | 元素类型 |
fill? | string | 填充色 |
chartType | ChartType | 图表基础类型 |
data | ChartData | 图表数据 |
options? | ChartOptions | 图表配置项 |
outline? | PPTElementOutline | 边框 |
themeColor | string[] | 主题色 |
gridColor? | string | 网格&坐标颜色 |
legend? | ‘’ | ‘top’ | ‘bottom’ | 图例/位置 |
6. 表格元素 (PPTTableElement)
属性 | 类型 | 说明 |
---|
type | ‘table’ | 元素类型 |
outline | PPTElementOutline | 边框 |
theme? | TableTheme | 主题 |
colWidths | number[] | 列宽数组 |
cellMinHeight | number | 单元格最小高度 |
data | TableCell[][] | 表格数据 |
7. LaTeX元素 (PPTLatexElement)
属性 | 类型 | 说明 |
---|
type | ‘latex’ | 元素类型 |
latex | string | latex代码 |
path | string | svg path |
color | string | 颜色 |
strokeWidth | number | 路径宽度 |
viewBox | [number, number] | SVG的viewBox属性 |
fixedRatio | boolean | 固定形状宽高比例 |
8. 视频元素 (PPTVideoElement)
属性 | 类型 | 说明 |
---|
type | ‘video’ | 元素类型 |
src | string | 视频地址 |
autoplay | boolean | 自动播放 |
poster? | string | 预览封面 |
ext? | string | 视频后缀 |
9. 音频元素 (PPTAudioElement)
属性 | 类型 | 说明 |
---|
type | ‘audio’ | 元素类型 |
fixedRatio | boolean | 固定图标宽高比例 |
color | string | 图标颜色 |
loop | boolean | 循环播放 |
autoplay | boolean | 自动播放 |
src | string | 音频地址 |
ext? | string | 音频后缀 |
五、动画定义
元素动画 (PPTAnimation)
属性 | 类型 | 说明 |
---|
id | string | 动画id |
elId | string | 元素ID |
effect | string | 动画效果 |
type | AnimationType | 动画类型(入场、退场、强调) |
duration | number | 动画持续时间 |
trigger | AnimationTrigger | 动画触发方式 |
六、幻灯片页面定义
幻灯片页面 (Slide)
属性 | 类型 | 说明 |
---|
id | string | 页面ID |
elements | PPTElement[] | 元素集合 |
notes? | Note[] | 批注 |
remark? | string | 备注 |
background? | SlideBackground | 页面背景 |
animations? | PPTAnimation[] | 元素动画集合 |
turningMode? | TurningMode | 翻页方式 |
sectionTag? | SectionTag | 章节标记 |
幻灯片主题 (SlideTheme)
属性 | 类型 | 说明 |
---|
backgroundColor | string | 页面背景颜色 |
themeColor | string | 主题色 |
fontColor | string | 字体颜色 |
fontName | string | 字体 |
outline | PPTElementOutline | 边框 |
shadow | PPTElementShadow | 阴影 |