aardio 文档

版式预检

fsys.openXml.pptx.check 实现 builder.check:生成前估算文字溢出、表格被内容撑高、超出页面与文字重叠,不启动 Office、不写文件、不修改输入。

一般通过生成器调用即可,生成器只在调用 check 时才加载本模块及 GDI+,单纯生成不受影响:

import fsys.openXml.pptx.builder;
var slides=[{shapes=[
    {kind="text";name="Title";x=40;y=40;width=300;height=40;fontSize=20;text="标题"},
    // 默认字号 24pt 时每行约需 24×1.2+6=34.8pt;高度 60 会被预检报为 tableGrow,这里给 80。
    {kind="table";name="Grid";x=40;y=120;width=400;height=80;rows=[["项目","说明"],["一","二"]]}
]}];
var report,err=fsys.openXml.pptx.builder.check(slides);
if(!report) return null,err;
return report.ok; // true

0.10.0 起,自动页码与显式页码字段按该页实际显示数字参与测量;编号与bullet共用正文缩进;offSlide包含外阴影偏移及保守模糊边界,完全透明阴影不参与。阴影不影响文字重叠判定。长编号字形的悬挂宽度不属于排版模拟范围,需要显式设置合适的marginLeft/hanging并检查渲染。

0.11.0 起表格 merges 与 builder 共用拓扑;被覆盖格不单独测量,锚点按合并列宽/跨行总高测量。跨行内容不足时估算总增高量,但不保证 Office/WPS 的逐行高度分配完全一致。

结果是估算预警,不是排版引擎:只报告问题,不自动缩字、不移动形状。

Markdown 格式