Agent Skills
返回列表
SDFA 文档模板填充

SDFA 文档模板填充

办公效率 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_078cba33/asdf2134。

技能介绍

要解决的问题

把结构化数据写进 Word 模板,看起来只是字符串替换,实际坑很多:一个占位符可能被 Word 拆散在多个 run 里;表格中的占位符要按绑定值的数量复制整行再逐行填入;表头、页脚、样式、关系和图片不能被破坏。用高层库改文档,很容易连带改写周边内容;用正则全文替换,又会误伤只是长得像 {{id}} 的正文。

核心能力与关键步骤

该技能面向「已有模板 + 任务上下文」的填充场景,输入是包含 task_context 的用户查询,其值指向完整任务 JSON 的下载地址。流程不向用户确认 JSON 内容,直接执行:

  1. 下载上下文并拆分,写出 .tmp/currentDocx.json、.tmp/annotations.json、.tmp/mapping.json、.tmp/ontologyInstance.json 四个片段。
  2. 从 currentDocx.sourceFetchUrl 拉取源 Word 模板,失败时回落到常见 URL 字段。
  3. 依据 annotations、mapping、ontologyInstance 构造绑定:每个 annotation id 对应 mapping[id],属性 id 从 mapping[id]["bindings"][0]["propertyId"] 读取,再按 ontologyInstance.json 中出现的原始顺序与次数收集值——重复值不去重,因为重复往往代表不同的表格行。
  4. 直接编辑 OOXML 完成填充:占位符跨 Word run 替换;表格行内占位符绑定多个值时,按索引复制模板行并逐行填入。

适用边界与注意点

  • 严格替换护栏:只替换与 annotations.json 中双花括号文本完全匹配、且出现在 binding-values.json 中的占位符,其他文本一律不编辑、不润色、不规范化。
  • 作用域限定:替换只在 paragraph 层级进行,而非 document/body/table/cell/root 层级,未占位内容的位置与结构保持不变,样式、关系、页眉页脚、图片和元数据得以保留。
  • 缺失值:没有匹配值的占位符原样保留,并出现在脚本报告中,不抛异常也不猜测填充。
  • 同名占位符:同一占位符文本若在不同位置绑定了不同属性 id,各位置保留独立取值序列,按文档顺序分别填充。
  • 上传:生成的 DOCX 上传到 TUSD,默认地址为 http://192.168.0.192:1080/plm/files/。成功时最终输出只有一个 word-actions URL 块,不返回本地路径或中间产物;上传失败则如实报告错误,不会伪造 URL。

使用场景

  • 需要把本体系统中的结构化字段批量写入既有 Word 合同模板、替换所有 `{{字段}}` 占位符,且不能破坏模板版式与图片。
  • 在 Word 表格里按绑定值数量逐行复制模板行并填入数据,适合「一人多条记录」的批量生成场景。
  • 模板中同一占位符在不同位置绑定了不同属性,需要按位置分别填充不同序列。
  • 生成的 DOCX 要上传到 TUSD 供下游流程使用,只需返回 word-actions URL,不暴露本地路径。

适合人员

  • 需要把本体或数据中台里的结构化数据写进固定 Word 模板、替代手工复制粘贴的数据工程师或后端开发者。
  • 定期用同一份 Word 模板批量产出合同、证明或报表,且模板包含表格与图片的行政、法务或财务专员。
  • 在 Agent 流程或 CI/CD 中编排文档生成,需要脚本化填充与上传步骤的自动化工程师。