Python Word批量加水印文字:保密字样
用python-docx通过XML操作给Word文档每页添加斜向"内部资料"文字水印,批量处理整个文件夹,无需Word内置水印功能,跨平台可用。
场景痛点
发出去的合同、标书要盖"内部资料""草稿"水印。Word自带水印在设计选项卡里,一份份点太慢,python-docx又没有直接的水印API。实际上水印就是页眉里的一个文本框图形,用XML注入到页眉里就能批量加,每页自动重复。
用到的库
pip install python-docx
完整代码
# -*- coding: utf-8 -*-
"""
批量给 Word 文档加水印(斜向文字)
原理:水印放在页眉里,每页自动重复
"""
from pathlib import Path
from docx import Document
from docx.oxml.ns import qn, nsmap
from docx.oxml import OxmlElement
from lxml import etree
WATERMARK_XML_TEMPLATE = '''
<w:p xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w10="urn:schemas-microsoft-com:office:word">
<w:r>
<w:rPr><w:noProof/></w:rPr>
<w:pict>
<v:shapetype id="
更新时间:2026-09-15 08:57:01