Python操作Word水印:添加文字或图片水印

在Word文档中,可以添加半透明的图形或文字作为水印,以保护文档的原创性,防止未经授权的复制或使用。除了提供安全功能外,水印还可以展示文档创作者的信息、附加的文档信息,或者仅用于文档的装饰。本文将介绍如何使用Spire.Doc for Python在程序中的轻松添加文字和图像水印到Word文档

引入 Spire.Doc for Python

使用此工具操作 Word 文档之前,需要先将该Python Word库引入到项目中。可以从官方网站下载产品后引入,或直接使用以下 pip 命令安装。

复制代码
pip install Spire.Doc

在Word文档中插入文字水印

Spire.Doc for Python 提供了 TextWatermark 类来设置文本水印。在设置后,可以通过 Document.Watermark 属性将其添加到 Word 文档中。以下是操作示例:

  • 创建Document对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档示例。
  • 创建 TextWatermark 类的实例。
  • 使用 TextWatermark 类的方法设置文本水印的文本、字体大小、颜色和布局。
  • 使用 Document.Watermark 属性将文本水印添加到 Word 文档中。
  • 使用 Document.SaveToFile() 方法保存结果文档。
复制代码
from spire.doc import *
from spire.doc.common import *

# 创建一个Document对象
document = Document()

# 加载一个Word文档
document.LoadFromFile("示例.docx")

# 创建一个TextWatermark对象
txtWatermark = TextWatermark()

# 设置文本水印的格式
txtWatermark.Text = "请勿复制"
txtWatermark.FontSize = 65
txtWatermark.Color = Color.get_Red()
txtWatermark.Layout = WatermarkLayout.Diagonal

# 将文本水印添加到文档中
document.Watermark = txtWatermark

# 保存结果文档
document.SaveToFile("output/文字水印.docx", FileFormat.Docx)
document.Close()

添加图片水印到 Word 文档

图片水印可以使用 PictureWatermark 类设置。以下是操作示例:

  • 创建 Document 对象。
  • 使用 Document.LoadFromFile() 方法加载 Word 文档示例。
  • 创建 PictureWatermark 类实例。
  • 使用 PictureWatermark.SetPicture() 方法加载图像作为图像水印,然后设置图像水印的缩放和冲洗属性。
  • 使用 Document.Watermark 属性将图像水印添加到 Word 文档中。
  • 使用 Document.SaveToFile() 方法保存结果文档。
复制代码
from spire.doc import *
from spire.doc.common import *

# 创建一个Document对象
document = Document()

# 加载一个Word文档
document.LoadFromFile("例.docx")

# 创建一个PictureWatermark对象
picture = PictureWatermark()

# 设置图片水印的格式
picture.SetPicture("dive.png")
picture.Scaling = 100
picture.IsWashout = False

# 将图片水印添加到文档中
document.Watermark = picture

# 保存结果文档
document.SaveToFile("output/图片水印.docx", FileFormat.Docx)
document.Close()

有兴趣了解该第三方Python库对Word 文档操作的其他介绍可前往 Spire.Doc for Python 教程查看。

相关推荐
兵慌码乱6 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵7 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio11 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636712 小时前
使用 Python 从零创建 Word 文档
python
Csvn17 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽18 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户5569188175320 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei2 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python