it编程 > 前端脚本 > Python

使用Python给Word文档添加文本和图片水印的完整指南

4人参与 2026-09-18 Python

在合同、报告、草稿等文档中,水印是一种常见的视觉标记:它可以标明"机密""草稿"等状态,也可以叠加公司 logo 做品牌标识。手动在 word 里逐个打开文件加水印,遇到几十份文档时既耗时又容易遗漏。用 python 可以批量、统一地把文本或图片水印加到一批 word 文档上,特别适合自动生成带版权的报告,或对外分发前的标记处理。本文以 spire.doc for python 为例,演示文本水印、图片水印的添加,以及水印的移除。

为什么用 python 添加水印

通过脚本处理水印有几个实际好处:

环境准备

安装 spire.doc 库:

pip install spire.doc

在脚本中引入模块:

from spire.doc import *
from spire.doc.common import *

添加文本水印

文本水印是最常用的形式,比如把"机密"或公司名平铺到页面背景。spire.doc 用 textwatermark 对象描述一个文本水印,设置好文本、字号、颜色和版式后,赋值给 document.watermark 即可:

from spire.doc import *
from spire.doc.common import *

# 加载 word 文档
document = document()
document.loadfromfile("sample.docx")

# 创建文本水印并设置外观
txtwatermark = textwatermark()
txtwatermark.text = "confidential"
txtwatermark.fontsize = 95
txtwatermark.color = color.get_blue()
txtwatermark.layout = watermarklayout.diagonal

# 把水印应用到文档
document.watermark = txtwatermark

# 保存结果
document.savetofile("textwatermark.docx", fileformat.docx)
document.close()

输出结果:

textwatermark() 构造一个空的水印对象。text 是要显示的文本内容;fontsize 控制字号,数值越大水印文字越大;color 通过 color.get_blue() 这类静态方法取预定义颜色;layout 决定排布方式,watermarklayout.diagonal 让文字沿对角线倾斜铺满页面。最后把对象赋给 document.watermark,保存后水印就写入文档了。

添加图片水印

除了文字,也可以用公司 logo 或印章图片做水印。picturewatermark 对象负责图片水印,通过 setpicture() 指定图片路径,再用 scalingiswashout 调整大小和淡化程度:

from spire.doc import *
from spire.doc.common import *

document = document()
document.loadfromfile("sample.docx")

# 创建图片水印并设置外观
picture = picturewatermark()
picture.setpicture("logo.png")
picture.scaling = 250
picture.iswashout = false

# 把水印应用到文档
document.watermark = picture

document.savetofile("imagewatermark.docx", fileformat.docx)
document.close()

输出结果:

setpicture() 接收图片的本地路径,支持常见的 png、jpg 等格式。scaling 是缩放百分比,例如 250 表示按图片原始尺寸的 250% 放置,调大可以让 logo 更醒目;iswashout 控制是否做"冲蚀"淡化处理,false 表示保留图片原色、不做淡化。赋值给 document.watermark 后保存即可。

移除文档中的水印

当文档定稿、要对外正式发布时,常常需要去掉草稿阶段加的水印。无论原来加的是文本水印还是图片水印,把 document.watermark 设为 none 即可一次性清除:

from spire.doc import *
from spire.doc.common import *

document = document()
document.loadfromfile("imagewatermark.docx")

# 将水印设为 none 即可移除文本和图片水印
document.watermark = none

document.savetofile("removewatermark.docx", fileformat.docx2013)
document.close()

这个方法对文本水印和图片水印都生效,不需要区分类型。注意它移除的是文档级水印;如果某些水印是以页眉图片等形式手动嵌入的,则不在 document.watermark 的管理范围内。

实用提示

总结

本文演示了用 python 在 word 文档中操作水印的三种常见场景:textwatermark 添加文本水印、picturewatermark 添加图片水印,以及把 document.watermark 设为 none 来移除水印。掌握这些后,结合批量遍历文件的逻辑,就可以把加水印无缝接入报告生成、合同分发等自动化流程中。

到此这篇关于使用python给word文档添加文本和图片水印的完整指南的文章就介绍到这了,更多相关python word添加水印内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

您想发表意见!!点此发布评论

推荐阅读

Python如何处理UTF-8 BOM编码标记

09-18

Python json模块怎么用?字典列表转JSON字符串详解

09-18

Python批量自动化实现Excel行列转换全指南

09-18

Python使用json模块来处理JSON数据实现方式

09-18

Python对HTML进行预处理的全流程

09-18

Python中数据类型转换与格式化输出实战指南

09-18

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论