ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

OfficeCLI PPT 形状实战指南:用命令行掌控几何预设、填充、轮廓、旋转与效果

OfficeCLI PPT 形状实战指南:用命令行掌控几何预设、填充、轮廓、旋转与效果 OfficeCLI PPT 形状实战指南用命令行掌控几何预设、填充、轮廓、旋转与效果【免费下载链接】OfficeCLIOfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源仅包含一个二进制文件无需安装 Office 套件。项目地址: https://gitcode.com/iOfficeAI/OfficeCLIOfficeCLI 是专为 AI Agent 与自动化脚本设计的命令行办公工具通过officecli add ... --type shape --prop ...即可在.pptx中精准绘制与格式化任意形状。本文以仓库中 shapes-basic 示例 为主线完整讲解 8 种几何预设、8 种填充语法、6 种轮廓变体、8 个旋转角度与阴影/发光/映像三大效果并结合 shape 属性 Schema 与 C# 处理器源码说明每个属性的底层 OOXML 映射与读写规则。读完你将能纯命令行生成一张视觉效果完整的形状演示幻灯片并掌握一套可复用的 Agent 自动化脚本模板。示例总览三个文件协同工作shapes-basic示例由三个文件组成演示同一份 5 页演示文稿的三种驱动方式文件作用shapes-basic.shShell 脚本逐条调用officecliCLI 命令生成演示文稿shapes-basic.pyPython SDK 等价实现单次doc.batch(...)往返推送全部指令shapes-basic.md本文档将每一页幻灯片映射到其所演示的特性生成的shapes-basic.pptx共 5 页8 个几何预设、8 种填充类型、6 种轮廓变体、8 个旋转角度、3 种效果、6 种描边几何变体。重新生成只需cd examples/ppt bash shapes/shapes-basic.sh # → shapes/shapes-basic.pptx值得注意的实现细节shapes-basic.sh故意不使用set -e。与 SDK 版doc.batch一样脚本会容忍“UNSUPPORTED props”这类前向兼容警告officecli退出码 2继续构建直到完整文档产出保证老版本二进制也能生成尽量完整的文件。Slide 1 — 几何预设画廊第一页在一行内排布 8 个形状每个使用不同的geometry预设。Schema 中声明支持的预设恰好各出现一次。# Create the file and open a resident session officecli create shapes-basic.pptx officecli open shapes-basic.pptx # Add the slide officecli add shapes-basic.pptx / --type slide # Title label officecli add shapes-basic.pptx /slide[1] --type shape \ --prop textGeometry Presets --prop size28 --prop boldtrue \ --prop x0.5in --prop y0.3in --prop width12in --prop height0.6in # One shape per preset — loop adds all 8 at columns 0..7 officecli add shapes-basic.pptx /slide[1] --type shape \ --prop geometryrect \ --prop x0.5in --prop y1.5in --prop width1.3in --prop height1.3in \ --prop fill4472C4 --prop colorFFFFFF \ --prop textrect --prop size11 --prop boldtrue officecli add shapes-basic.pptx /slide[1] --type shape \ --prop geometryroundRect \ --prop x2.05in --prop y1.5in --prop width1.3in --prop height1.3in \ --prop fill4472C4 --prop colorFFFFFF \ --prop textroundRect --prop size11 --prop boldtrue officecli add shapes-basic.pptx /slide[1] --type shape \ --prop geometryellipse \ --prop x3.6in --prop y1.5in --prop width1.3in --prop height1.3in \ --prop fill4472C4 --prop colorFFFFFF \ --prop textellipse --prop size11 --prop boldtrue # triangle、diamond、parallelogram、rightArrow 与上面同一模式 # 每个形状水平位移 1.55in0.5 col * 1.55 officecli add shapes-basic.pptx /slide[1] --type shape \ --prop geometrystar5 \ --prop x11.35in --prop y1.5in --prop width1.3in --prop height1.3in \ --prop fill4472C4 --prop colorFFFFFF \ --prop textstar5 --prop size11 --prop boldtrue覆盖特性geometryrect、roundRect、ellipse、triangle、diamond、parallelogram、rightArrow、star5、fill十六进制颜色、color文字颜色、text、size、bold、x/y/width/height带in后缀的尺寸。geometry 的底层实现geometry的取值列表在 shape.json 中声明为“示意性而非穷举”——处理器实际接受远多于列表的 OOXML 预设pie、arc、chord、方向箭头族leftArrow、upArrow、downArrow、star4/6/8/10、hexagon/heptagon/octagon/decagon/dodecagon、cloud以及整个callout*家族凡是处理器能识别的预设都能完整往返round-trip。它的别名有preset和shape即--prop presetroundRect与--prop geometryroundRect等价。从源码结构看PowerPointHandler.Helpers.Geometry.cs 同时支撑了预设几何prstGeom与自定义几何CustomGeometry解析 SVG 风格的M/L/C/Q/A/Z路径坐标采用 0-100 相对空间、内部按 OOXML 标准放大 1000 倍到 0-100000。这意味着geometry只是形状外观的入口若需要非常规外形同一套形状模型还支持--prop geometry预设 adj调节手柄如--prop adjadj1:val 80000调整箭头尾部/头部比例的组合。Slide 2 — 填充变体第二页在同一个roundRect几何上横向对比全部 8 种填充语法是理解 OfficeCLI 填充输入契约的最佳样板。officecli add shapes-basic.pptx / --type slide # Solid hex fill纯色十六进制填充 officecli add shapes-basic.pptx /slide[2] --type shape --prop geometryroundRect \ --prop x0.5in --prop y1.3in --prop width2.5in --prop height1.5in \ --prop fillE63946 --prop colorFFFFFF --prop boldtrue \ --prop textfillE63946 # Theme color主题色 accent2跟随整套 deck 的配色主题 officecli add shapes-basic.pptx /slide[2] --type shape --prop geometryroundRect \ --prop x3.3in --prop y1.3in --prop width2.5in --prop height1.5in \ --prop fillaccent2 --prop colorFFFFFF --prop boldtrue \ --prop textfillaccent2 # Linear gradient线性渐变COLOR1-COLOR2-ANGLE officecli add shapes-basic.pptx /slide[2] --type shape --prop geometryroundRect \ --prop x6.1in --prop y1.3in --prop width2.5in --prop height1.5in \ --prop gradientFF6B6B-4ECDC4-45 --prop colorFFFFFF --prop boldtrue \ --prop textgradient linear 45° # Radial gradient径向渐变radial:CENTER-COLOR1-COLOR2 officecli add shapes-basic.pptx /slide[2] --type shape --prop geometryroundRect \ --prop x8.9in --prop y1.3in --prop width2.5in --prop height1.5in \ --prop gradientradial:FFE66D-FF6B35-center --prop color000000 --prop boldtrue \ --prop textgradient radial # Pattern fill图案填充preset:foreground:background officecli add shapes-basic.pptx /slide[2] --type shape --prop geometryroundRect \ --prop x0.5in --prop y3.1in --prop width2.5in --prop height1.5in \ --prop patterndiagBrick:1D3557:F1FAEE --prop colorFFFFFF --prop boldtrue \ --prop textpattern diagBrick # Solid opacity透明度必须依附 fill 才有意义 officecli add shapes-basic.pptx /slide[2] --type shape --prop geometryroundRect \ --prop x3.3in --prop y3.1in --prop width2.5in --prop height1.5in \ --prop fill2A9D8F --prop opacity0.4 --prop color000000 --prop boldtrue \ --prop textfill opacity0.4 # No fill无填充——仅保留轮廓线 officecli add shapes-basic.pptx /slide[2] --type shape --prop geometryroundRect \ --prop x6.1in --prop y3.1in --prop width2.5in --prop height1.5in \ --prop fillnone --prop line264653:2.5:solid --prop color264653 --prop boldtrue \ --prop textfillnone outline # Per-stop gradient逐停靠点渐变COLORPOSITIONPOS 取值 0..100% officecli add shapes-basic.pptx /slide[2] --type shape --prop geometryroundRect \ --prop x8.9in --prop y3.1in --prop width2.5in --prop height1.5in \ --prop gradientFF00000-FFD70040-0000FF100 --prop colorFFFFFF --prop boldtrue \ --prop textgradient per-stop覆盖特性fill十六进制、主题色、none、gradient线性C1-C2-ANGLE、径向radial:C1-C2-center、逐停靠点CPOS-CPOS-CPOS、patternpreset:fg:bg如 diagBrick、wave、dotGrid、opacity0.0–1.0需配合 fill、line复合形式color:widthPt:dash。填充语法的源码级解读PowerPointHandler.Fill.cs 中的ApplyShapeFill是这套语法的执行者其判定逻辑值得注意值等于none→ 写入a:noFill/值以radial:或path:开头或本身就是渐变颜色串 → 走BuildGradientFill否则按纯色BuildSolidFill处理。代码注释明确说明了一个一致性设计渐变简写C1-C2[-angle]、radial:C1-C2、path:C1-C2、LINEAR;C1;C2;angle可以直接写在fill上——表格单元格与幻灯片背景本来就支持同样的自动探测形状填充沿用这一输入契约调用方无需为了形状切换到平行的gradient键。此外它还会在重复设置同一主题色时保留既有的 lumMod/lumOff/shade/tint/satMod/hueMod 变换无用户显式覆盖时视为 no-op避免误删颜色变换链。关于读回Get存在渐变时fill读回为gradient除非同时存在 solidFill线性渐变以分号分隔的linear;C1;C2;ANGLE返回径向/路径渐变以radial:C1-C2-FOCUS/path:C1-C2-FOCUS返回。opacity 与 pattern 的约束opacity在 shape.json 中标记requires: [fill]因为在 OOXML 中透明度是挂在填充上的a:alpha子元素没有填充可依附时设置 opacity 不产生任何效果。pattern语法为preset或preset:fg或preset:fg:bg默认 fg000000、bgFFFFFF读回为preset:fg_color[:bg_color]例如diagBrick:#FF0000:#FFFFFF。除图案外image本地图片作为 blipFill、fillRect/srcRect图像填充的拉伸内边距与源裁剪也是 shape 的填充家族成员示例中未展开但 Schema 完整支持。Slide 3 — 轮廓样式第三页用 6 个形状演示复合 line 形式与逐属性 line 形式、复合描边double/triple以及端点箭头。officecli add shapes-basic.pptx / --type slide # Compound line form复合形式color:widthPt:dash officecli add shapes-basic.pptx /slide[3] --type shape --prop geometryrect \ --prop x0.5in --prop y1.3in --prop width3in --prop height1.2in \ --prop fillnone --prop lineE63946:3:solid \ --prop textlineE63946:3:solid --prop size12 officecli add shapes-basic.pptx /slide[3] --type shape --prop geometryrect \ --prop x4in --prop y1.3in --prop width3in --prop height1.2in \ --prop fillnone --prop line1D3557:2:dash \ --prop textline1D3557:2:dash --prop size12 officecli add shapes-basic.pptx /slide[3] --type shape --prop geometryrect \ --prop x7.5in --prop y1.3in --prop width3in --prop height1.2in \ --prop fillnone --prop line2A9D8F:2.5:dashDot \ --prop textline2A9D8F:2.5:dashDot --prop size12 # Per-attribute form逐属性形式lineColor lineWidth lineDash 分开设置 officecli add shapes-basic.pptx /slide[3] --type shape --prop geometryellipse \ --prop x0.5in --prop y2.9in --prop width3in --prop height1.4in \ --prop fillFFE66D --prop lineColorE63946 --prop lineWidth4pt --prop lineDashsolid \ --prop textseparate lineColor/lineWidth/lineDash --prop size11 # Compound stroke复合描边cmpddbl 双线 officecli add shapes-basic.pptx /slide[3] --type shape --prop geometryellipse \ --prop x4in --prop y2.9in --prop width3in --prop height1.4in \ --prop fillA8DADC --prop lineColor1D3557 --prop lineWidth6pt --prop cmpddbl \ --prop textcmpddbl (double stroke) --prop size11 # Compound strokecmpdtri 三线 officecli add shapes-basic.pptx /slide[3] --type shape --prop geometryellipse \ --prop x7.5in --prop y2.9in --prop width3in --prop height1.4in \ --prop fillA8DADC --prop lineColor1D3557 --prop lineWidth8pt --prop cmpdtri \ --prop textcmpdtri (triple stroke) --prop size11 # Arrowheads on shape outlinesheadEnd / tailEnd 加在形状轮廓上 # 而不是只能用于连接线 connector officecli add shapes-basic.pptx /slide[3] --type shape --prop geometryrect \ --prop x0.5in --prop y5.2in --prop width4in --prop height0.05in \ --prop fillnone --prop lineColor000000 --prop lineWidth2pt \ --prop headEndtriangle --prop tailEndarrow officecli add shapes-basic.pptx /slide[3] --type shape --prop geometryrect \ --prop x5in --prop y5.2in --prop width4in --prop height0.05in \ --prop fillnone --prop lineColor000000 --prop lineWidth2pt \ --prop headEnddiamond --prop tailEndoval覆盖特性line复合color:widthPt:dash、lineColor、lineWidth带pt后缀、lineDashsolid、dash、dashDot、dot、lgDash、sysDash、sysDot、cmpddbl、tri、headEnd/tailEndnone、triangle、arrow、diamond、oval、stealth。轮廓属性的 OOXML 映射lineDash对应 DrawingML 的prstDash。Schema 中完整取值共 13 个solid、dot、dash、dashDot、lgDash、lgDashDot、lgDashDotDot、sysDot、sysDash、sysDashDot、sysDashDotDot另接受longdash/longdashdot作为 lgDash/lgDashDot 的输入别名dashDotDot作为 sysDashDotDot 的别名读回返回 sysDashDotDot。cmpd对应a:ln cmpd取值除示例中的sng/dbl/tri外还有thickThin、thinThick别名为compoundLine/line.compound。headEnd/tailEnd对应a:headEnd type.../a:tailEnd type...任何形状轮廓都可使用不只是连接线取值 none、triangle、stealth、diamond、oval、arrowheadEnd别名arrowStarttailEnd别名arrowEnd。lineWidth读回为带单位的 pt 字符串如1pt写时可使用4pt、2.5等长度形式。轮廓同样支持lineGradient渐变描边如lineGradientFF00000,0000FF100与lineOpacity轮廓透明度 0..1需依附 line与填充家族对称。Slide 4 — 旋转与效果第四页用 8 个rightArrow展示rotation0..270的顺时针旋转再用 3 个roundRect分别演示阴影、发光与映像三种效果。officecli add shapes-basic.pptx / --type slide # Rotation — 顺时针角度0..360每个形状用文本标出自身角度 officecli add shapes-basic.pptx /slide[4] --type shape --prop geometryrightArrow \ --prop x0.5in --prop y1.3in --prop width1.4in --prop height0.8in \ --prop fill4472C4 --prop colorFFFFFF --prop boldtrue \ --prop rotation0 --prop text0° --prop size11 officecli add shapes-basic.pptx /slide[4] --type shape --prop geometryrightArrow \ --prop x2.05in --prop y1.3in --prop width1.4in --prop height0.8in \ --prop fill4472C4 --prop colorFFFFFF --prop boldtrue \ --prop rotation30 --prop text30° --prop size11 # 60、90、135、180、225、270 依次类推每个水平位移 1.55in # Shadow effect阴影——只给颜色处理器自动填充 blur/offset/direction 默认值 officecli add shapes-basic.pptx /slide[4] --type shape --prop geometryroundRect \ --prop x1in --prop y3in --prop width3.5in --prop height1.8in \ --prop fillE63946 --prop colorFFFFFF --prop boldtrue --prop size14 \ --prop textshadow000000 \ --prop shadow000000 # Glow effect发光——给颜色处理器应用默认半径 officecli add shapes-basic.pptx /slide[4] --type shape --prop geometryroundRect \ --prop x5.5in --prop y3in --prop width3.5in --prop height1.8in \ --prop fill2A9D8F --prop colorFFFFFF --prop boldtrue --prop size14 \ --prop textglowFFD700 \ --prop glowFFD700 # Reflection effect映像——预设名 officecli add shapes-basic.pptx /slide[4] --type shape --prop geometryroundRect \ --prop x10in --prop y3in --prop width3in --prop height1.8in \ --prop fillF4A261 --prop color000000 --prop boldtrue --prop size14 \ --prop textreflectiontight \ --prop reflectiontight覆盖特性rotation度数 0–360、shadow颜色或true用默认值Get 返回#RRGGBB-blur-angle-dist-opacity、glow颜色或color-radius-opacity、reflectiontight、half、full。效果属性的源码实现PowerPointHandler.Effects.cs 对reflection的预设做了精确的 OOXML 映射tight/small→endPos55000贴近形状的短映像stA52000、endA300half→endPos90000true是half的别名full→endPos100000none/false移除效果。读回时reflection依据a:reflection endPos反映射为tight70000/half95000/full其余。非法值会被明确报错而非静默降级早期版本曾把越界数值悄悄降为 halfSchema 中记录了这一行为改进。shadow与glow的读回均为复合字符串shadow→#RRGGBB-blurPt-angleDeg-distPt-opacityPct例如#000000-4-45-3-40颜色以#前缀 6 位十六进制呈现alpha 只由末尾透明度字段承载不会双重编码glow→#RRGGBBAA-radiusPt-opacityPct例如#4472C4BF-8-75颜色为 CSS 8 位十六进制、alpha 在末尾shadow对纯文本形状会路由到 run 级 rPrrPr上的阴影innerShadow则是对应内阴影的平行键。Slide 5 — 描边几何细节第五页用 6 个形状系统演示lineCap、lineJoin含 miterLimit与lineAlign。officecli add shapes-basic.pptx / --type slide # lineCap —— 描边在端点/虚线段落处的终止方式。 # 粗虚线让差异一目了然round/square 会超出端点延伸flat 恰好切在端点。 officecli add shapes-basic.pptx /slide[5] --type shape --prop geometryrect \ --prop x0.5in --prop y1.5in --prop width4in --prop height0.05in \ --prop fillnone --prop lineColor1D3557 --prop lineWidth10pt \ --prop lineDashdash --prop lineCapflat officecli add shapes-basic.pptx /slide[5] --type shape --prop geometryrect \ --prop x4.8in --prop y1.5in --prop width4in --prop height0.05in \ --prop fillnone --prop lineColor1D3557 --prop lineWidth10pt \ --prop lineDashdash --prop lineCapround officecli add shapes-basic.pptx /slide[5] --type shape --prop geometryrect \ --prop x9.1in --prop y1.5in --prop width4in --prop height0.05in \ --prop fillnone --prop lineColor1D3557 --prop lineWidth10pt \ --prop lineDashdash --prop lineCapsquare # lineJoin —— 带描边形状的拐角样式粗描边三角形最直观 officecli add shapes-basic.pptx /slide[5] --type shape --prop geometrytriangle \ --prop x0.5in --prop y2.8in --prop width2.5in --prop height2in \ --prop fillA8DADC --prop lineColorE63946 --prop lineWidth12pt \ --prop lineJoinround officecli add shapes-basic.pptx /slide[5] --type shape --prop geometrytriangle \ --prop x3.5in --prop y2.8in --prop width2.5in --prop height2in \ --prop fillA8DADC --prop lineColorE63946 --prop lineWidth12pt \ --prop lineJoinbevel officecli add shapes-basic.pptx /slide[5] --type shape --prop geometrytriangle \ --prop x6.5in --prop y2.8in --prop width2.5in --prop height2in \ --prop fillA8DADC --prop lineColorE63946 --prop lineWidth12pt \ --prop lineJoinmiter # miterLimit —— 复合形式一次性设置连接样式 限制值。 # 单位是千分之一百分比800000 800% officecli add shapes-basic.pptx /slide[5] --type shape --prop geometrytriangle \ --prop x0.5in --prop y5.5in --prop width2.5in --prop height1.8in \ --prop fillA8DADC --prop lineColorE63946 --prop lineWidth8pt \ --prop lineJoinmiter:800000 # lineAlign —— 描边对齐方式ctr居中在路径上vs in完全内缩进 officecli add shapes-basic.pptx /slide[5] --type shape --prop geometryrect \ --prop x9in --prop y2.8in --prop width2in --prop height2in \ --prop fillF4A261 --prop lineColor1D3557 --prop lineWidth12pt \ --prop lineAlignctr officecli add shapes-basic.pptx /slide[5] --type shape --prop geometryrect \ --prop x11.5in --prop y2.8in --prop width2in --prop height2in \ --prop fillF4A261 --prop lineColor1D3557 --prop lineWidth12pt \ --prop lineAlignin officecli close shapes-basic.pptx officecli validate shapes-basic.pptx覆盖特性lineCapflat、round、square、lineJoinround、bevel、miter、lineJoinmiter:N复合形式一次设置连接样式 miterLimit、lineAlignctr、in。三个易混淆属性的辨析lineCap对应a:ln cap决定描边在端点与虚线段落处的收尾方式。示例刻意使用10pt粗 dash虚线来放大差异round/square会超出端点延伸flat恰好截在端点。lineJoin对应a:ln的子元素a:round//a:bevel//a:miter/决定描边在拐角处的连接方式。复合形式miter:lim可同时设置 miterLimit单位千分之一百分比800000 800%也可用独立的miterLimit键——Schema 注明设置 miterLimit 而未显式指定 lineJoin 时会隐含lineJoinmiter。lineAlign对应a:ln algn决定描边相对路径的定位ctr居中于路径上、in完全内缩进形状边界内。示例用相同尺寸、相同线宽的矩形对比两者是最直观的验证方式。完整特性覆盖表特性幻灯片几何预设rect, roundRect, ellipse, triangle, diamond, parallelogram, rightArrow, star51纯色填充十六进制颜色1, 2主题色填充accent1..6, dark1/2, light1/22线性渐变C1-C2-ANGLE2径向渐变radial:C1-C2-center2逐停靠点渐变CPOS-CPOS-CPOS2图案填充preset:fg:bg2透明度opacity0.0–1.0需配合 fill2无填充fillnone2复合线linecolor:widthPt:dash2, 3逐属性线lineColor、lineWidth、lineDash3虚线模式solid, dash, dashDot, dot, lgDash, sysDash, sysDot3复合描边cmpddbl\|tri3箭头端点headEnd/tailEndtriangle, arrow, diamond, oval, none3旋转rotation0..3604阴影效果shadowcolor或shadowcolor-blur-angle-dist-opacity4发光效果glowcolor或glowcolor-radius-opacity4映像效果reflectiontight\|half\|full4线帽lineCapflat\|round\|square5线连接lineJoinround\|bevel\|miter5斜接限制lineJoinmiter:N复合5线对齐lineAlignctr\|in5形状内文本text、size、bold、color1–5位置与尺寸x、y、width、heightin/cm/pt/emu1–5检查生成的演示文稿构建完成后可以用query与get命令反向验证每个形状的属性这在调试 Agent 生成内容时尤其有用# 列出第 1 页的所有形状 officecli query shapes-basic.pptx /slide[1] shape # 获取 ellipseshape[3]的完整属性集 officecli get shapes-basic.pptx /slide[1]/shape[3] # 检查第 2 页 shape[3]线性渐变的填充与渐变 officecli get shapes-basic.pptx /slide[2]/shape[3] # 检查第 3 页 shape[2] 的轮廓属性 officecli get shapes-basic.pptx /slide[3]/shape[2] # 检查阴影形状第 4 页 shape[9]的效果 officecli get shapes-basic.pptx /slide[4]/shape[9] # 检查第 5 页的描边几何 officecli get shapes-basic.pptx /slide[5]/shape[1] officecli get shapes-basic.pptx /slide[5]/shape[4]选择器与读回的注意点根据 shape.json 的说明位置选择器/shape[N]会枚举幻灯片上包括版式继承占位符在内的所有形状——新添加的形状通常落在末尾而不是/shape[1]因此add回显的规范路径/shape[idID]更适合作为后续 Set/Get 的寻址方式。此外get会输出effective.*系列只读键effective.size、effective.font、effective.color、effective.bold 等它们是沿 占位符→版式→母版→默认值 链继承解析出的最终值并在对应直接键被设置时自动隐藏每个键还配effective.*.src指明写入层——排查“为什么字号不是我以为的值”时这一组键是首选依据。从 CLI 到 Python SDK同一套属性契约示例仓库还提供了 shapes-basic.py它通过pip install officecli-sdk安装的 Python SDK 驱动同一份演示文稿一次启动 resident 会话所有幻灯片与形状指令以{command,parent,type,props}字典打包进单个doc.batch(...)往返中完成。props字典与 CLI 的--prop键值完全一一对应例如with officecli.create(FILE, --force) as doc: items [ {command: add, parent: /, type: slide, props: {}}, {command: add, parent: /slide[1], type: shape, props: {geometry: roundRect, x: 0.5in, y: 1.3in, width: 2.5in, height: 1.5in, fill: E63946, color: FFFFFF, bold: true, text: fillE63946}}, ] doc.batch(items) doc.send({command: save})这意味着本指南中所有属性语法geometry、gradient、pattern、line、cmpd、lineCap/Join/Align、shadow/glow/reflection、rotation、opacity 等在 CLI 与 SDK 两条路径上完全通用——Agent 既可以用 Shell 脚本逐条驱动也可以用 Python 批量构造后单次提交二者的输入契约与校验行为一致这也正是示例刻意维护.sh与.py双实现的原因。小结通过shapes-basic这份 5 页示例可以完整掌握 OfficeCLI 对 PPT 形状的声明式建模geometry负责外形fill/gradient/pattern/opacity负责面line/lineColor/lineWidth/lineDash/cmpd与lineCap/lineJoin/lineAlign负责线rotation负责姿态shadow/glow/reflection负责质感而text/size/bold/color让形状自带标注。所有属性都有清晰的复合简写linecolor:width:dash、lineJoinmiter:N、gradientC1-C2-ANGLE也都有对应的逐属性展开形式配合 shape.json 中每个键的 values/examples/readback/enforcement 说明可以在不打开 PowerPoint 的情况下精确控制输出。若需继续深入可进一步研究仓库中的 shapes-connectors、shapes-effects 与 shapes-typography 等系列示例。【免费下载链接】OfficeCLIOfficeCLI 是首款也是最佳的专为 AI 代理设计的命令行工具可用于读取、编辑和自动化处理 Word、Excel 和 PowerPoint 文件。它免费、开源仅包含一个二进制文件无需安装 Office 套件。项目地址: https://gitcode.com/iOfficeAI/OfficeCLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表