作为 C# 开发人员,您可以轻松地以编程方式在 Word 文档中添加文本或图像水印。水印是一种文本或图像形式的信息,通常用于通过显示版权信息、免责声明、徽标、印章或签名来识别或保护文档。在本文中,您将学习如何使用 C# 在 Word 文档中添加文本或图像水印。
本文讨论/涵盖了以下主题:
- 在 Word 文档中添加水印的 C# API
- 使用 C# 在 Word 文档中添加文本水印
- 使用 C# 在 Word 文档中添加图像水印
- 使用 C# 为 Word 文档的图像添加水印
- 使用 C# 将水印添加到 Word 文档中的特定页面
- 使用 C# 将水印添加到 Word 文档的页眉或页脚
在 Word 文档中添加水印的 C# API
为了在 DOC 或 DOCX 文件中添加文本或图像水印,我们将使用 GroupDocs.Watermark for .NET API。它使您能够添加、编辑、搜索和删除 支持的文件格式 中的图像和文本水印。它还允许获取有关源文档的基本信息,例如文件类型、大小、页数、页面高度和宽度等。API 的文档预览功能允许生成文档页面的图像表示,以便更好地理解文档。
您可以下载 API 的 DLL 或使用 NuGet 安装它。
Install-Package GroupDocs.Watermark
使用 C# 在 Word 文档中添加文本水印
您可以按照以下步骤在 Word 文档中添加文本水印:
- 首先,使用 Watermarker 类加载 DOCX 文件。
- 使用 Font 类初始化用于水印文本的字体。
- 创建 TextWatermark 类的实例以创建文本水印。传递文本以显示为水印,并将定义的字体对象作为输入参数。
- 现在,设置各种watermark properties,例如前景色、背景色、旋转角度、高度、宽度、不透明度等。
- 然后,调用 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 文档中添加图像水印
您可以按照以下步骤将图像作为水印添加到 Word 文档中:
- 首先,使用 Watermarker 类加载 DOCX 文件。
- 使用图像路径创建 ImageWatermark 类的实例以创建图像水印。
- 现在,设置各种watermark properties,例如对齐、高度、宽度等。
- 然后,调用Watermarker.Add()方法将图片水印添加到文档中。
- 最后调用Watermarker.Save()方法保存加水印的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 文档的图像添加水印
您可以按照以下步骤为 Word 文档中的图像添加文本水印:
- 首先,使用 Watermarker 类加载 DOCX 文件。
- 创建 TextWatermark 类的实例以创建文本水印。使用 Font 类作为输入参数传递要显示为水印的文本和用于水印文本的字体。
- 现在,设置各种watermark properties 例如前景色、对齐方式、旋转角度、比例因子等。
- 然后,调用 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 文档中的特定页面
您可以按照以下步骤将水印添加到 Word 文档的特定页面:
- 首先,使用 Watermarker 类加载 DOCX 文件。
- 使用 Font 类初始化用于水印文本的字体。
- 创建 TextWatermark 类的实例以创建文本水印。传递文本以显示为水印,并将定义的字体对象作为输入参数。
- 现在,设置各种watermark properties,例如前景色、背景色、对齐方式等。
- 创建 WordProcessingWatermarkPagesOptions 类的实例
- 现在,设置 PageNumbers 以添加水印。您可以设置单个页码或以逗号分隔的页码列表。我们将其设置为 WordProcessingContent.PageCount,它表示此处文档的最后一页。
- 然后,调用Watermarker.Add()方法添加定义好的水印。
- 最后调用Watermarker.Save()方法保存加水印的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");
使用 C# 将水印添加到 Word 文档的页眉或页脚
您可以按照以下步骤将水印添加到 Word 文档的页眉或页脚部分:
- 首先,使用 Watermarker 类加载 DOCX 文件。
- 使用图像路径创建 ImageWatermark 类的实例以创建图像水印。
- 然后,设置各种watermark properties,如Alignment、Height、Width等。
- 创建 WordProcessingWatermarkSectionOptions 类的实例。
- 现在,将 WordProcessingWatermarkSectionOptions.SectionIndex 设置为 0 以将水印添加到文档的第一部分。
- 然后,调用 Watermarker.Add() 方法将图像水印添加到第一部分。
- 调用 Watermarker.GetContent() 方法获取加载文档的内容,并在 WordProcessingContent 类对象中获取结果。
- 循环遍历所有部分并使用真正的布尔值作为输入参数调用 LinkToPrevious() 方法。它将所有节的所有页眉和页脚与第一节链接。
- 最后调用Watermarker.Save()方法保存加水印的Word文档。
以下代码示例演示如何使用 C# 将水印添加到 DOCX 文件中的页眉或页脚部分。
// 创建水印
Watermarker watermarker = new Watermarker(@"C:\Files\Watermark\sample.docx");
// 创建图像水印
using (ImageWatermark watermark = new ImageWatermark(@"C:\Files\Watermark\logo.png"))
{
// 设置水印属性
watermark.Height = 100;
watermark.Width = 100;
watermark.HorizontalAlignment = HorizontalAlignment.Right;
// 为第一部分的所有标题添加水印
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");
获得免费许可证
您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。
结论
在本文中,您学习了如何使用 C# 在 Word 文档中添加文本或图像水印。此外,您还了解了如何以编程方式将水印添加到 Word 文档的特定页面。本文还介绍了如何使用 C# 为 DOCX 文件中的图像添加水印。此外,您可以使用 documentation 了解有关 .NET API 的 GroupDocs.Watermark 的更多信息。如有任何歧义,请随时在 论坛 上与我们联系。