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

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

本文介绍如何使用第三方库 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 相关产品和应用

全部下载

专题列表