使用 C# 在 Word 文档中添加文本或图像水印

作为 C# 开发人员,您可以轻松地以编程方式在 Word 文档中添加文本或图像水印。水印是一种文本或图像形式的信息,通常用于通过显示版权信息、免责声明、徽标、印章或签名来识别或保护文档。在本文中,您将学习如何使用 C# 在 Word 文档中添加文本或图像水印

本文讨论/涵盖了以下主题:

在 Word 文档中添加水印的 C# API

为了在 DOCDOCX 文件中添加文本或图像水印,我们将使用 GroupDocs.Watermark for .NET API。它使您能够添加、编辑、搜索和删除 支持的文件格式 中的图像和文本水印。它还允许获取有关源文档的基本信息,例如文件类型、大小、页数、页面高度和宽度等。API 的文档预览功能允许生成文档页面的图像表示,以便更好地理解文档。

您可以下载 API 的 DLL 或使用 NuGet 安装它。

Install-Package GroupDocs.Watermark

使用 C# 在 Word 文档中添加文本水印

您可以按照以下步骤在 Word 文档中添加文本水印:

  • 首先,使用 Watermarker 类加载 DOCX 文件。
  • 使用 Font 类初始化用于水印文本的字体。
  • 创建 TextWatermark 类的实例以创建文本水印。传递文本以显示为水印,并将定义的字体对象作为输入参数。
  • 现在,设置各种水印属性,例如前景色、背景色、旋转角度、高度、宽度、不透明度等。
  • 然后,调用 Watermarker.Add() 方法将文本水印添加到文档中。
  • 最后调用Watermarker.Save()方法保存加水印的Word文档。

以下代码示例展示了如何使用 C# 在 DOCX 文件中添加文本水印。

// 创建者水印
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// 初始化用于水印的字体
Font font = new Font("Arial", 19, FontStyle.Bold | FontStyle.Italic);

// 创建水印对象
TextWatermark watermark = new TextWatermark("Simple Text Watermark", font);

// 设置水印属性
watermark.ForegroundColor = Color.Red;
watermark.BackgroundColor = Color.Blue;
watermark.TextAlignment = TextAlignment.Right;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
watermark.VerticalAlignment = VerticalAlignment.Bottom;

// 设置水印大小
watermark.Width = 150;
watermark.Height = 40;

// 设置不透明度级别
watermark.Opacity = 0.9;

// 加水印
watermarker.Add(watermark);

// 保存输出文件
watermarker.Save(@"C:\Files\Watermark\addTextWatermark_output.docx");
使用 C# 在 Word 文档中添加文本水印。

使用 C# 在 Word 文档中添加文本水印

使用 C# 在 Word 文档中添加图像水印

您可以按照以下步骤将图像作为水印添加到 Word 文档:

以下代码示例展示了如何使用 C# 在 DOCX 文件中添加图像水印。

// 创建水印
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// 创建水印对象
ImageWatermark watermark = new ImageWatermark(@"C:\Files\Watermark\logo.png");

// 设置水印对齐
watermark.HorizontalAlignment = HorizontalAlignment.Center;
watermark.VerticalAlignment = VerticalAlignment.Bottom;

// 设置水印大小
watermark.Width = 100;
watermark.Height = 100;

// 加水印
watermarker.Add(watermark);

// 保存输出文件
watermarker.Save(@"C:\Files\Watermark\AddImageWatermark_output.docx");
使用 C# 在 Word 文档中添加图像水印。

使用 C# 在 Word 文档中添加图像水印

使用 C# 为 Word 文档的图像添加水印

您可以按照以下步骤为 Word 文档中的图像添加文本水印:

  • 首先,使用 Watermarker 类加载 DOCX 文件。
  • 创建 TextWatermark 类的实例以创建文本水印。使用 Font 类作为输入参数传递要显示为水印的文本和用于水印文本的字体。
  • 现在,设置各种水印属性,例如前景色、对齐方式、旋转角度、比例因子等。
  • 然后,调用 Watermarker.GetImages() 方法查找文档中的所有图像,并在 WatermarkableImageCollection 类对象中获取结果。
  • 对于 WatermarkableImageCollection 中的每个图像,通过调用 TextWatermark 对象的 WatermarkableImage.Add() 方法添加水印。
  • 最后调用Watermarker.Save()方法保存加水印的Word文档。

以下代码示例展示了如何使用 C# 向 DOCX 文件中的图像添加文本水印。

// 创建水印
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// 创建者文字水印
TextWatermark watermark = new TextWatermark("Protected image", new Font("Arial", 8));

// 设置水印属性
watermark.ForegroundColor = Color.Black;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
watermark.VerticalAlignment = VerticalAlignment.Center;
watermark.RotateAngle = 45;
watermark.SizingType = SizingType.ScaleToParentDimensions;
watermark.ScaleFactor = 1;

// 查找内容中的所有图像。
WatermarkableImageCollection images = watermarker.GetImages();

// 加水印。
foreach (WatermarkableImage watermarkableImage in images)
{
    watermarkableImage.Add(watermark);
}

// 保存输出文件
watermarker.Save(@"C:\Files\Watermark\AddWatermarkToImages_output.docx");
使用 C# 在 Word 文档中添加水印图像。

使用 C# 在 Word 文档中添加水印图像。

使用 C# 将水印添加到 Word 文档中的特定页面

您可以按照以下步骤将水印添加到 Word 文档的特定页面:

以下代码示例展示了如何使用 C# 将文本水印添加到 DOCX 文件中的特定页面。

// 创建水印
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// 创建文字水印
TextWatermark watermark = new TextWatermark("This is simple watermark!", new Font("Arial", 26));

// 设置水印属性
watermark.ForegroundColor = Color.Red;
watermark.BackgroundColor = Color.Blue;
watermark.TextAlignment = TextAlignment.Right;

watermark.HorizontalAlignment = HorizontalAlignment.Left;
watermark.VerticalAlignment = VerticalAlignment.Top;

// 在最后一页添加水印
WordProcessingContent content = watermarker.GetContent<WordProcessingContent>();
WordProcessingWatermarkPagesOptions options = new WordProcessingWatermarkPagesOptions();
options.PageNumbers = new int[] { content.PageCount };

// 加水印
watermarker.Add(watermark, options);

// 保存输出文件
watermarker.Save(@"C:\Files\Watermark\AddToSpecificPage_output.docx");

您可以按照以下步骤将水印添加到 Word 文档的页眉或页脚部分:

以下代码示例展示了如何使用 C# 在 DOCX 文件的页眉或页脚部分添加水印。

// 创建水印
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");

// 创建图像水印
using (ImageWatermark watermark = new ImageWatermark(@"C:\Files\Watermark\logo.png"))
{
    // Set watermark properties
    watermark.Height = 100;
    watermark.Width = 100;
    watermark.HorizontalAlignment = HorizontalAlignment.Right;

    // Add watermark to all headers of the first section
    WordProcessingWatermarkSectionOptions options = new WordProcessingWatermarkSectionOptions();
    options.SectionIndex = 0;
    watermarker.Add(watermark, options);
}

// 将所有其他页眉和页脚链接到第一部分的相应页眉和页脚
WordProcessingContent content = watermarker.GetContent<WordProcessingContent>();
for (int i = 1; i < content.Sections.Count; i++)
{
    content.Sections[i].HeadersFooters.LinkToPrevious(true);
}

// 保存输出文件
watermarker.Save(@"C:\Files\Watermark\AddWatermarkToHeadersFooters_output.docx");
使用 C# 将水印添加到 Word 文档的页眉或页脚。

使用 C# 将水印添加到 Word 文档的页眉或页脚。

获得免费许可证

您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。

结论

在本文中,您学习了如何使用 C# 在 Word 文档中添加文本或图像水印。此外,您还了解了如何以编程方式将水印添加到 Word 文档的特定页面。本文还解释了如何使用 C# 为 DOCX 文件中的图像添加水印。此外,您可以使用 [documentation] 37 了解有关 .NET API 的 GroupDocs.Watermark 的更多信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看