【PPTist】基础元素介绍

一、基础元素类型

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 阴影
相关推荐
zach42 分钟前
前端落地实战:Next.js 项目 Nginx + PM2 生产部署全流程(附踩坑总结)
前端·pm2·next.js
overmind1 小时前
oeasy教h5前端001 修改的乐趣_直接修改在线网页
前端
只睡四小时1 小时前
JS 手写 D-pad 空间导航:电视端焦点引擎实战
android·开发语言·前端·javascript·ecmascript·hls·空间导航
恋猫de小郭1 小时前
Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗?
android·前端·flutter
庄园特聘拆椅狂魔1 小时前
从连连看到粒子消散——前端小游戏与视觉特效的技术选型
前端
JudithHuang1 小时前
React 常用 Hooks
前端·react.js·前端框架
sycmancia2 小时前
Qml——Window元素使用
前端
每天都好困2 小时前
03 AR 投影与误差修正:把地图上的点贴到视频画面上
前端
每天都好困2 小时前
04 地图图层封装:像管理 Photoshop 图层一样管理地图元素
前端
去伪存真3 小时前
构建你的第一个 DevOps AI Agent:自动化捕获、分析并修复 CI 故障
前端·agent