Stories

Detail Return Return

通過 C# 給 Word 文檔添加文字或圖片水印 - Stories Detail

在日常辦公中,給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("圖片水印添加成功!");
        }
    }
}

四、注意事項

  1. 免費版限制
    Free Spire.Doc 免費版支持處理最多500個段落每個文檔,無任何水印,適合小型或個人項目。
  2. 路徑問題
    加載文檔和圖片時,建議使用絕對路徑(如@"C:\Files\示例文檔.docx"),避免因相對路徑錯誤導致文件找不到。
  3. 水印覆蓋範圍
    上述代碼會給整個文檔添加水印。如果需要給特定頁面(如首頁)添加水印,可以通過doc.Sections[0]獲取指定節,單獨設置節的水印。

五、總結

用 Free Spire.Doc for .NET 在 C# 中給 Word 添加水印,步驟非常清晰:加載文檔→創建水印對象(文本/圖片)→設置屬性→應用水印→保存文檔。相比依賴 Office Interop(需要安裝Office,且性能較差),這種方案更輕量、更穩定。

user avatar incerry Avatar ponponon Avatar youdanyoushidegangbi_4vmwj Avatar
Favorites 3 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.