import fsys.openXml.writer; 可独立使用,不加载 OpenXML 读取器、MSXML、Office 或 .NET。
write(path,parts,options) 输入部件数组,每项 {name,data,level};data 是字符串/buffer 或返回字节串的无参数函数。必须有 [Content_Types].xml 与 _rels/.rels,两项在 ZIP 中首先写入;其他部件按输入顺序。
fsys.openXml.uri 校验名称,拒绝大小写等价重复、越界和非法百分号转义。overwrite=true 显式覆盖;protectPaths 数组保护源件/别名,提交前再次核对。maxEntries=10000,maxPartBytes=16777216,maxWriteBytes=134217728;最高 100000、128 MiB、1 GiB。escape(text) 转义 XML 文本/属性的 UTF-8 内容,拒绝 XML 1.0 禁止字符与无效编码;已有实体字符串也按原样转义。
import fsys.openXml.writer;
var text,err=fsys.openXml.writer.escape("中文 & <tag>");
if(text===null) return null,err;
return text;
纯 PPTX 生成使用 pptx.builder,不要为了写 ZIP 自行调用底层 zip API。