编辑计划操作¶
scripts/edit_document_from_plan.ps1 接收 JSON 编辑计划,用来脚本化改写
.docx 文档。本页补齐计划格式、执行结果和常用 operation 的参数字段,避免
中文读者只能看到 operation 名称列表。
编辑计划格式¶
编辑计划可以是 JSON 数组,也可以是带 operations 数组的对象。每个
operation 都必须提供 op。op 中的短横线会被规范化为下划线,因此
append-image 和 append_image 会进入同一个 dispatcher 分支。
{
"operations": [
{
"op": "replace_text",
"find": "草稿",
"replace": "定稿",
"match_case": true
},
{
"op": "append_hyperlink",
"text": "FeatherDoc",
"target": "https://github.com/wuxianggujun/FeatherDoc"
}
]
}
输入 DOCX、输出 DOCX、可选 summary_json、构建目录和 skip_build 是
scripts/edit_document_from_plan.ps1 的命令参数。单个 operation 通常不
设置 input_path 或 output_path;apply_table_position_plan 会在调用
CLI 前把当前 input_path 注入表格定位计划。
执行结果¶
脚本会写出 summary 对象,记录整次运行状态和每个 operation 的执行结果。
字段 |
含义 |
|---|---|
|
整个编辑计划的状态,通常是 |
|
解析后的源 DOCX 和目标 DOCX 路径。 |
|
解析后的 JSON 编辑计划路径。 |
|
调用者要求写出的 summary 文件路径。 |
|
从计划中读取到的 operation 数量。 |
|
每个 operation 的记录,包含 |
|
只有在整次运行失败时才出现。 |
操作参考¶
下面优先列出 JSON 计划里最常用的 operation 参数。完整 operation 名称索引见 页面下方。
审阅和修订¶
Operation |
必填字段 |
可选字段和别名 |
作用 |
|---|---|---|---|
|
|
无。 |
对整个文档调用 |
|
|
|
调用 |
|
|
|
在匹配文本上追加批注。 |
|
|
文件计划和内联计划不能同时提供。 |
通过 |
注释和字段¶
Operation |
必填字段 |
可选字段和别名 |
作用 |
|---|---|---|---|
|
|
|
在指定文档 part 中追加页码字段。 |
|
|
|
追加指向书签的 Word hyperlink field。 |
|
|
可通过专用 enable/disable operation 设置 |
设置文档打开时更新字段的开关。 |
模板槽和内容控件¶
Operation |
必填字段 |
可选字段和别名 |
作用 |
|---|---|---|---|
|
|
|
对选中的内容控件调用 |
|
selector 字段和 |
part 选择字段;本 operation 允许空 rows。 |
替换内容控件表格行。 |
|
|
书签 selector 选项。 |
用文本替换书签内容。 |
图片、链接和 OMML¶
Operation |
必填字段 |
可选字段和别名 |
作用 |
|---|---|---|---|
|
|
part 选择字段; |
调用 |
|
|
无。 |
调用 |
|
|
无。 |
追加 OMML 公式。 |
文本和段落变更¶
Operation |
必填字段 |
可选字段和别名 |
作用 |
|---|---|---|---|
|
|
|
替换 |
|
一个目标: |
|
对正文段落或表格单元格内段落的 runs 设置样式。 |
|
目标 |
对齐值别名: |
设置正文段落水平对齐。 |
表格和编号¶
Operation |
必填字段 |
可选字段和别名 |
作用 |
|---|---|---|---|
|
|
除上述别名外无额外字段。 |
设置正文表格 grid column 和单元格宽度。 |
|
|
|
从指定单元格向指定方向调用 |
|
|
无。 |
从指定单元格向指定方向调用 |
|
|
|
应用表格定位计划并写出编辑计划的目标 DOCX。 |
|
|
无。 |
调用 |
JSON 示例¶
替换内容控件、追加图片并设置文本样式:
{
"operations": [
{
"op": "replace_content_control_text_by_tag",
"tag": "customer_name",
"text": "Ada Lovelace"
},
{
"op": "append_image",
"image_path": "assets/logo.png",
"part": "body",
"width": 320
},
{
"op": "set_text_style",
"text_contains": "Ada Lovelace",
"bold": true,
"font_family": "Aptos",
"east_asia_font_family": "Microsoft YaHei",
"color": "1F4E79",
"font_size_points": 12
}
]
}
更新表格布局和编号:
{
"operations": [
{
"op": "set_table_col_width",
"table_index": 0,
"column_index": 1,
"width_twips": 2880
},
{
"op": "apply_table_position_plan",
"table_position_plan": {
"tables": [
{
"table_index": 0,
"alignment": "center"
}
]
}
},
{
"op": "import_numbering_catalog",
"catalog_file": "numbering.catalog.json"
}
]
}
完整操作索引¶
审阅与修订操作¶
accept_all_revisionsreject_all_revisionsset_comment_resolvedset_comment_metadataappend_commentappend_comment_replyreplace_commentremove_commentapply_review_mutation_plan(CLI route:apply-review-mutation-plan)append_insertion_revisionappend_deletion_revisioninsert_run_revision_afterdelete_run_revisionreplace_run_revisionaccept_revisionreject_revisionset_revision_metadata
注释、脚注尾注与字段¶
append_footnotereplace_footnoteremove_footnoteappend_endnotereplace_endnoteremove_endnoteappend_page_number_field(CLI route:append-page-number-field)append_total_pages_fieldappend_table_of_contents_fieldappend_document_property_fieldappend_fieldappend_date_fieldappend_reference_fieldappend_page_reference_fieldappend_style_reference_fieldappend_hyperlink_fieldappend_captionappend_index_entry_fieldappend_index_fieldappend_sequence_fieldappend_complex_fieldreplace_fieldset_update_fields_on_openenable_update_fields_on_opendisable_update_fields_on_openclear_update_fields_on_open
模板槽与内容控件¶
replace_content_control_textreplace_content_control_text_by_tagreplace_content_control_text_by_aliasreplace_content_control_paragraphsreplace_content_control_tablereplace_content_control_table_rowsreplace_content_control_imageset_content_control_form_statesync_content_controls_from_custom_xmlsync_content_control_from_custom_xmlreplace_bookmark_textreplace_bookmark_paragraphsreplace_bookmark_table_rowsreplace_bookmark_tableremove_bookmark_blockdelete_bookmark_blockreplace_bookmark_imagereplace_bookmark_floating_image
图片、链接与 OMML¶
append_image(CLI route:append-image)append_floating_imagereplace_imageremove_imageappend_hyperlink(CLI route:append-hyperlink)replace_hyperlinkremove_hyperlinkdelete_hyperlinkappend_omml(CLI route:append-omml)replace_ommlremove_ommldelete_omml
文本与段落变更¶
insert_paragraph_text_revisiondelete_paragraph_text_revisionreplace_paragraph_text_revisioninsert_text_range_revisiondelete_text_range_revisionreplace_text_range_revisionappend_paragraph_text_commentappend_text_range_commentset_paragraph_text_comment_rangeset_text_range_comment_rangereplace_textreplace_document_textset_text_styleset_text_formatset_paragraph_text_styledelete_paragraphremove_paragraphset_paragraph_horizontal_alignmentset_paragraph_alignmentclear_paragraph_horizontal_alignmentclear_paragraph_alignmentset_paragraph_line_spacingclear_paragraph_spacing
表格与编号¶
apply_table_position_plan(CLI route:apply-table-position-plan)import_numbering_catalogset_table_col_widthclear_table_col_widthclear_table_widthclear_table_alignmentclear_table_indentclear_table_layout_modeclear_table_style_idclear_table_style_lookclear_table_cell_spacingclear_table_default_cell_marginclear_table_borderdelete_table_rowdelete_table_columndelete_tableinsert_table_beforeinsert_table_like_beforemerge_table_cellunmerge_table_cellsunmerge_table_cell