我的知识记录

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="

Python Word批量加水印文字:保密字样

标签:

更新时间:2026-09-15 08:57:01

上一篇:Python Word批量打印文档:自动送打印机

下一篇:Python Word插入分页符分节符:自动排版