fsys.openXml.pptx.layout 把形状、表格单元格与文字描述解析为规范化模型。生成器与预检共用这一层,因此预检看到的字号、字体、缩进、行距与内边距,和实际写入 PPTX 的完全一致。不生成 XML、不测量文字、不加载 Office 或 GDI+。
import fsys.openXml.pptx.layout;
var model=fsys.openXml.pptx.layout.text({
paragraphs=[{runs=[{text="Hello "},{text="你好";fontNameEa="SimHei"}]}];
fontSize=20;fontNameLatin="Segoe UI"
},{});
var style=model.paragraphs[1].runs[2].style;
return {latin=style.latin;ea=style.ea;size=style.size;lang=model.lang};
text(shape,defaults) 返回 paragraphs,text,anchor,margin,fontSize,fontName,lang;每段含 align,level,bullet,lineSpacing,spaceBefore,spaceAfter,runs,marginLeft,hanging,运行含 text,style 或 softBreak=true。geometry(shape,kind) 返回 left,top,width,height,flipH,flipV(point);kind 为 line 且给出 x2/y2 时按两点计算边界框与翻转。margins/segments/checked/emu/color/simpleText 是单位与参数归一化工具;校验失败抛出不含库文件与行号的纯消息。0.10.0 起 slideShapes(slide,options,location,pageIndex) 还添加自动页码,并为所有形状设置当前页的字段缓存上下文;pageIndex 默认1,生成与预检均传真实页序。location 是内部错误定位对象,可省略。text 返回的运行还可含 field/hyperlink;段落增加 numbering,起始基数与缩进统一解析,style 增加 underline。
0.11.0 起 tableMerges(rowCount,columnCount,merges) 校验矩形合并范围,返回 ranges/cells/rowCount/columnCount;每个物理槽指向其左上逻辑格。生成器、预检和编辑器共用,不涉及 DOM 或文字测量。
hyperlink/numbering/shadow/cornerRadius 负责新参数的纯校验与归一化。具体语义见 页码、链接、编号与外观。超链接不会被访问,阴影不涉及渲染。
字体继承、语言标签等输入语义见 字体、语言、备注与线条。本层不是通用 PPT 对象模型。