C#/VB.NET使用Spire.Doc给Word添加水印

Finn
Finn
发布时间:2026-10-15| 5人浏览过
原创

本文介绍如何使用第三方库 Spire.Doc 在 C# 和 VB.NET 应用中为 Word 文档插入文本或图片水印。操作步骤包含从 NuGet 安装依赖,分别配置 TextWatermark(如字体大小、颜色、对角线布局)和 PictureWatermark(如图片路径、缩放比例、洗白效果),最后将修改后的文档另存为新的 Docx 文件。

准备环境

要在项目中操作 Word 文档,首先需要引入 Spire.Doc。可以通过以下两种方式进行安装:

  • 直接下载 DLL:访问官方链接获取库文件,并在项目中添加引用。
  • NuGet 包管理器:在程序包管理器控制台中运行安装命令:

PM> Install-Package Spire.Doc

安装完成后,确保代码文件顶部引入了必要的命名空间,如 System.Drawing 用于处理颜色和图像,以及 Spire.Doc 相关的类。

插入文本水印

文本水印常用于声明文档的机密性或版权信息。实现这一功能需要实例化 Document 对象,加载现有 Word 文档,然后对文档中的第一个节(Section)应用文本水印配置。

第1步:设置文本水印参数

目的:定义水印的外观样式,包括文字内容、字体、颜色和排列方向。

  • 入口:TextWatermark 对象。
  • 动作:设置属性后赋值给 section.Document.Watermark。
  • 重要参数:
    • Text: 要显示的文字内容。
    • FontSize: 字体大小。
    • Color: 文字颜色。
    • Layout: 布局方式,例如 WatermarkLayout.Diagonal 表示对角线排列。

第2步:完整代码示例

以下为在 C# 和 VB.NET 中的具体实现,展示了如何创建文档对象、加载源文件、插入水印并保存为新文档。

C#

using System;
using System.Drawing;
using Spire.Doc;
using Spire.Doc.Documents;
namespace InsertImageWatermark
{
internal class Program
{
static void Main(string[] args)
{
//创建Document类的对象
Document document = new Document();
//从磁盘加载 Word 文档
document.LoadFromFile(@"西双版纳.docx");
//插入文本水印
InsertTextWatermark(document.Sections[0]);
//保存文档
document.SaveToFile("西双版纳 文本水印.docx", FileFormat.Docx);
}
private static void InsertTextWatermark(Section section)
{
TextWatermark txtWatermark = new TextWatermark();
txtWatermark.Text = "请勿复制";
txtWatermark.FontSize = 50;
txtWatermark.Color = Color.Blue;
txtWatermark.Layout = WatermarkLayout.Diagonal;
section.Document.Watermark = txtWatermark;
}
}
}

VB.NET

Imports System
Imports System.Drawing
Imports Spire.Doc
Imports Spire.Doc.Documents
Module Program
Sub Main(args As String())
'创建Document类的对象 Dim document As New Document()
'从磁盘加载 Word 文档
document.LoadFromFile("西双版纳.docx")
'插入文本水印
InsertTextWatermark(document.Sections(0))
'保存文档
document.SaveToFile("西双版纳 文本水印.docx", FileFormat.Docx)
End Sub
Private Sub InsertTextWatermark(ByVal section As Section)
Dim txtWatermark As New Spire.Doc.TextWatermark()
txtWatermark.Text = "请勿复制"
txtWatermark.FontSize = 50
txtWatermark.Color = Color.Blue
txtWatermark.Layout = WatermarkLayout.Diagonal
section.Document.Watermark = txtWatermark
End Sub
End Module

插入图片水印

如果需要更灵活的视觉效果,可以使用图片作为水印。这需要加载一个背景图像,并可调整其缩放比例及是否进行“洗白”处理(即降低饱和度/透明度以不干扰正文阅读)。

第1步:配置图片水印属性

目的:定义水印图像的来源及其在页面中的呈现方式。

  • 入口:PictureWatermark 对象。
  • 动作:设置图片源和属性后赋值给 document.Watermark。
  • 重要参数:
    • Picture: 使用 Image.FromFile 加载图像文件路径。
    • Scaling: 缩放比例,数值越大图片越满。
    • IsWashout: 布尔值,设为 false 可保持图片原色。

第2步:完整代码示例

以下是插入图片水印的代码实现:

C#

using System;
using System.Drawing;
using Spire.Doc;
using Spire.Doc.Documents;
namespace InsertWatermark
{
internal class Program
{
static void Main(string[] args)
{
//创建Document类的对象
Document document = new Document();
//从磁盘加载 Word 文档
document.LoadFromFile(@"西双版纳.docx");
//插入图片水印
InsertImageWatermark(document);
//保存文档
document.SaveToFile("西双版纳 图片水印.docx", FileFormat.Docx);
}
private static void InsertImageWatermark(Document document)
{
PictureWatermark picture = new PictureWatermark();
picture.Picture = Image.FromFile(@"水印.png");
picture.Scaling = 200;
picture.IsWashout = false;
document.Watermark = picture;
}
}
}

VB.NET

Imports System
Imports System.Drawing
Imports Spire.Doc
Imports Spire.Doc.Documents
Module Program
Sub Main(args As String())
'创建Document类的对象
Dim document As New Document()
'从磁盘加载 Word 文档
document.LoadFromFile("西双版纳.docx")
'插入图片水印
InsertImageWatermark(document)
'保存文档
document.SaveToFile("西双版纳 图片水印.docx", FileFormat.Docx)
End Sub
Private Sub InsertImageWatermark(ByVal document As Document)
Dim picture As New PictureWatermark()
picture.Picture = Image.FromFile("水印.png")
picture.Scaling = 250
picture.IsWashout = False
document.Watermark = picture
End Sub
End Module

以上就是在 C# 和 VB.NET 中为 Word 文档添加水印的详细流程。通过合理配置文本和图片水印的属性,可以满足各类文档的安全标识需求。更多关于 .NET 办公自动化操作资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。