You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Docx高亮合并Docx版本后的插入/删除文本

仅高亮Docx中插入/删除文本的实现方案

原代码的问题在于仅通过段落级别的XML判断是否存在修改,随后高亮整个段落的所有文本。要实现仅高亮被插入或删除的目标文本,需要针对每个文本片段(run)单独检查其修改标记:

from docx import Document
from docx.enum.text import WD_COLOR_INDEX

def highlight_revised_text(paragraph):
    # 遍历段落内的每个文本片段(run)
    for run in paragraph.runs:
        run_xml = run._t.xml
        # 检查当前run是否属于插入或删除的内容
        if "w:del" in run_xml or "w:ins" in run_xml:
            run.font.highlight_color = WD_COLOR_INDEX.PINK

# 调用示例
doc = Document("待处理文档.docx")
for para in doc.paragraphs:
    highlight_revised_text(para)
doc.save("高亮后文档.docx")

说明:

  • 每个run是Docx中最小的文本样式单元,修改标记(w:ins/w:del)会绑定在对应的run上
  • 代码直接检查单个run的XML内容,仅对包含修改标记的run设置高亮,精准定位目标文本
  • 执行前确保已安装依赖库:pip install python-docx

内容的提问来源于stack exchange,提问作者KarSho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:50:39