aardio 文档

fsys.openXml.pptx.builder 库模块帮助文档

» PPTX 生成与预检

fsys.openXml.pptx.builder 成员列表 #

声明式 PPTX 生成器;独立导入,不加载 OpenXML 读取器/Office/.NET/GDI+。
单母版;blank/title/titleContent/twoContent 基础版式;主题内嵌并按生成字体改写,运行不需要参考 PPTX。

fsys.openXml.pptx.builder.buildParts(slides,options) #

返回 name,data,level 部件数组,便于测试或自定义写包;失败 null,err。
不执行宏、不访问外链、不渲染,不是通用 PPT 对象模型。

fsys.openXml.pptx.builder.check(slides,options,checkOptions) #

生成前版式预检,参数同 write;不启动 Office、不写文件。输入不合法返回 null,err。
返回 {ok,issues,counts,errors,warnings,missingFonts};code: overflow/tableGrow/offSlide/overlap。
checkOptions: tolerance=0.5,overlapMinArea=4,ignore=[code];形状 checkIgnore=true 或 [code]。
文字高度为 GDI+ 估算,按 PowerPoint 实测校准:偏保守,宁可多报不漏报。

fsys.openXml.pptx.builder.write(path,slides,options) #

生成并另存 PPTX,成功返回完整路径;失败 null,err(含页号/形状名),默认不覆盖。
slides 每项可含 shapes,animations,transition,notes,background,hidden,name,layout。
layout=blank/title/titleContent/twoContent,默认 blank;shape.placeholder=title/subtitle/body 或 {type,index},仅 kind=text。第二栏正文 index=2。
占位符省略坐标/尺寸/样式时使用版式默认值,可显式覆盖;不自动添加未提供的占位符。标题默认 index=0,副标题/正文默认1。
byParagraph/paragraph 动画、Morph 与回退见 animation;不依赖 Office。
options.width=960,height=540,fontName=Microsoft YaHei,fontSize=24,color=000000,lang=zh-CN,notesFontSize=12;坐标为 point,颜色为 RRGGBB 字符串。
字体可分文种 fontNameLatin/fontNameEa/fontNameCs;options.headingFontName 指定主题标题字体。
shape.kind: text/shape/image/table/chart;含 x,y,width,height,name,id,text,paragraphs,fill,lineColor,lineWidth,animation。
线条 lineDash=dash/dot/sysDot...,lineStart/lineEnd=triangle/stealth/diamond/oval/arrow 或 {type,size};geometry=line 可用 x2,y2 指定终点。
图片仅 PNG/JPEG,path 为本地文件或 data 为字节串,fit=stretch/contain/cover,imageAlignX/Y=0..1;相同图片只嵌入一份。
fill/background 支持 RRGGBB、{color,opacity} 或 {angle,stops:[{position,color,opacity}]};opacity/position=0..1。
margin 可为数值或 {left,right,top,bottom};lineSpacing 为百分比,spaceBefore/spaceAfter 为 point。
表格 rows 为矩形二维数组,单元格可为值或 {text,paragraphs,fill,color,bold,margin,valign}。
表格 columnWidths/rowHeights 为 point 数组,合计须等于宽/高;header 为首行样式,bandFill 为隔行色;borderColor/borderWidth 为边框。
0.11.0 表格 merges=[{row,column,rowSpan,colSpan}] 为1-based矩形合并;跨度默认1,至少覆盖两格。保留完整物理网格,被覆盖格必须为空;越界/重叠/隐藏非空内容拒绝。预检使用合并宽高。
常用动画和切换见 fsys.openXml.pptx.animation;时间为秒。输出/内存限额同 writer。
0.10.0 页码:options.slideNumber=true 或页码样式表;slide.slideNumber=false 隐藏单页。firstSlideNumber 默认1可为0;运行 {field="slideNumber"} 写真实字段及缓存。prefix/suffix 为静态文字。自动页码参与预检;reader/editor 不重算字段。
0.10.0 链接:text/shape/image 或 runs 可设 hyperlink。字符串或 {url,tooltip}/{slide=1}/{action=first};动作 next/previous/first/last/back/end。外链仅 http/https/mailto;不访问链接,不支持文件/程序动作;可显式 underline=true 及 color。
0.10.0 编号:段落 numbering=true、类型字符串或 {type,startAt};与 bullet 互斥。支持 arabic/alphaLc/alphaUc/romanLc/romanUc 常用格式。startAt=1..3276

全局对象 成员列表 #

7 是序列起始基数,后续同层同类型沿用;marginLeft/hanging 为正文缩进/悬挂(point)。\n0.10.0 外观:shadow #

true 或 {blur=4,distance=3,angle=45,color="000000",opacity=0.2}。简单外阴影,不支持整表;opacity为不透明度。roundRect可设cornerRadius(point),0到短边一半,不指定保持原预设。详见details指南。
0.12.0 原生图表:kind=chart,chart={type,categories,series};type=column/bar/line/pie,series=[{name,values,color}]。数值/null严格区分,用table.len与table.eachIndex;尾部null通过values@={length=N}保留。每图独立XLSX,引用/缓存一致;仅二维小子集,详见chart指南。
图表的title/legend/dataLabels/fontSize/numberFormat/axisMin等置于chart表,不支持旋转/翻转/阴影/超链接。check仅检查数据与外部几何,不测量图表内部标签。

Markdown 格式