SuperAPI AI 工具集

officecli-word-form

办公与效率

查看项目

更新于 10-15 22:38

技能介绍

用途:把 .docx 做成真正的可填写表单,用于数据采集或模板合并,而非普通报告、信函、备忘录、论文等无可填字段的文档(那类应改用 docx 相关技能)。

主要能力:使用四种 OpenXML 载荷层——<w:sdt> 内容控件(text/richtext/dropdown/combobox/date/picture/group)、<w:ffData> 旧式 FormField(目前获得真实复选框的唯一方式)、<w:fldChar> 复杂域(MERGEFIELD 等模板期字段)、documentProtection(锁定非字段正文,同时允许编辑表单字段)。

使用方式:先确认已安装 officecli(officecli --version);未安装时 macOS/Linux 用 curl -fsSL https://d.officecli.ai/install.sh | bash,Windows 用 irm https://d.officecli.ai/install.ps1 | iex;失败可手动从 https://github.com/iOfficeAI/OfficeCLI/releases 下载二进制。命令逐条执行,属性不确定时先查 officecli help docx [element] [--json],以帮助为准。多数场景用纯 CLI 添加(如 --prop type=dropdown --prop items="A,B,C");需要帮助未暴露的属性时用 raw-set 注入 OpenXML(如 listItem 的显示文本与存储值不同);仅少数情况需先在 Word 中建模板再填充。示例流程:create/open 文件、add 段落与 sdt/formfield、set lock、最后 set / --prop protection=forms 锁定、close,再用 view forms 检查。

限制与校验:每个 SDT 必须同时有 alias 与 tag;下拉/组合框必须有非空 items;日期需指定 format;复选框只能用 --type formfield --prop type=checkbox(SDT checkbox 未实现,会退出 1);不要用下划线或空行模拟字段;formfield 名称不超过 20 字符;构建日志不得出现 WARNING: UNSUPPORTED;protection=forms 必须最后设置,之后编辑非字段内容需 --force。表单 QA 关注数据管道(保护是否生效、alias+tag、选项注入、名称长度等),不同于普通 docx 的版面与活动 PAGE 域检查。

平台注意:文中 shell 片段面向 macOS/Linux(bash/zsh),Windows 需改写为 PowerShell,如 a && b 改为分两步或 a; if ($?) { b },heredoc 改用临时文件,grep 用 Select-String,jq 用 ConvertFrom-Json,python3 用 python,路径用 $env:USERPROFILE、$env:TEMP,cp/mkdir -p/rm -rf 用 Copy-Item、New-Item -ItemType Directory -Force、Remove-Item -Recurse -Force。引号规则:含 $ 的属性用单引号,--after find: 外层用单引号,路径中的 [N] 用引号包裹以免 shell 展开。其他具体费用或平台信息暂未提供。