在日常辦公中,給Word文檔添加水印是個常見需求——可能是為了標記"草稿"狀態、標註"機密"等級,或者用企業Logo作為背景防偽。如果需要批量處理文檔,手動操作效率太低,用代碼自動化處理才是王道。
今天就來分享一個簡單高效的方案:用 C# 結合免費庫 Free Spire.Doc for .NET 給 Word 文檔添加水印(包括文本水印和圖片水印)。無需依賴Office組件,輕量又好用,新手也能快速上手。
一、準備工作:獲取Free Spire.Doc
首先需要安裝Free Spire.Doc for .NET。它是一個免費的Word處理類庫,能輕鬆操作Word文檔的各種元素(包括水印)。可以直接通過NuGet安裝:
- 在Visual Studio的"解決方案資源管理器"中右鍵項目
- 選擇"管理NuGet包",搜索"FreeSpire.Doc",點擊安裝即可
二、添加文本水印:C# 代碼示例
文本水印是最常用的類型(比如"機密"、"內部使用")。Free Spire.Doc 提供了 TextWatermark 類,可直接設置文本內容、樣式、佈局等屬性。
完整代碼示例:
using System;
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
namespace WordWatermarkDemo
{
class Program
{
static void Main(string[] args)
{
// 1. 加載Word文檔(支持.doc和.docx)
Document doc = new Document();
doc.LoadFromFile("示例文檔.docx"); // 替換為你的文檔路徑
// 2. 創建文本水印對象
TextWatermark textWatermark = new TextWatermark();
// 設置水印文本內容
textWatermark.Text = "機密文檔";
// 設置字體(名稱、大小、顏色)
textWatermark.FontName = "微軟雅黑";
textWatermark.FontSize = 40;
textWatermark.Color = Color.LightGray; // 淺灰色不影響正文閲讀
// 設置佈局:斜向(Diagonal)或水平(Horizontal)
textWatermark.Layout = WatermarkLayout.Diagonal;
// 3. 將水印應用到文檔
doc.Watermark = textWatermark;
// 4. 保存文檔
doc.SaveToFile("帶文本水印的文檔.docx", FileFormat.Docx2013);
doc.Close();
// 提示操作完成
Console.WriteLine("文本水印添加成功!");
}
}
}
三、添加圖片水印:用 Logo 作為背景
如果需要用圖片(比如企業 Logo、版權標識)作為水印,Free Spire.Doc 的 PictureWatermark 類可以滿足需求,支持設置圖片路徑、縮放比例和透明度。
完整代碼示例:
using System;
using Spire.Doc;
using Spire.Doc.Documents;
namespace WordImageWatermarkDemo
{
class Program
{
static void Main(string[] args)
{
// 1. 加載Word文檔
Document doc = new Document();
doc.LoadFromFile("示例文檔.docx");
// 2. 創建圖片水印對象
PictureWatermark pictureWatermark = new PictureWatermark();
// 設置圖片路徑(支持本地圖片,格式如.png、.jpg等)
pictureWatermark.Picture = System.Drawing.Image.FromFile("logo.png"); // 替換為你的圖片路徑
// 設置縮放比例(100為原始大小,小於100縮小,大於100放大)
pictureWatermark.Scaling = 50; // 縮小到50%,避免遮擋正文
// 設置淡化效果
pictureWatermark.IsWashout = false;
// 3. 將水印應用到文檔
doc.Watermark = pictureWatermark;
// 4. 保存文檔
doc.SaveToFile("帶圖片水印的文檔.docx", FileFormat.Docx2013);
doc.Close();
Console.WriteLine("圖片水印添加成功!");
}
}
}
四、注意事項
- 免費版限制
Free Spire.Doc 免費版支持處理最多500個段落每個文檔,無任何水印,適合小型或個人項目。 - 路徑問題
加載文檔和圖片時,建議使用絕對路徑(如@"C:\Files\示例文檔.docx"),避免因相對路徑錯誤導致文件找不到。 - 水印覆蓋範圍
上述代碼會給整個文檔添加水印。如果需要給特定頁面(如首頁)添加水印,可以通過doc.Sections[0]獲取指定節,單獨設置節的水印。
五、總結
用 Free Spire.Doc for .NET 在 C# 中給 Word 添加水印,步驟非常清晰:加載文檔→創建水印對象(文本/圖片)→設置屬性→應用水印→保存文檔。相比依賴 Office Interop(需要安裝Office,且性能較差),這種方案更輕量、更穩定。