Word中设置水印时,可使用预设的文字或自定义文字设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法。下面,将以C# 代码为例,对Word每一页设置不同的文字水印效果作详细介绍。
方法思路
在给Word每一页添加文字水印前,首先需要在Word文档每一页正文的最后一个字符后面插入“连续”分节符,然后在每一节的页眉段落里添加艺术字形状,并设置形状大小、对齐方式等。最后保存文档。
dll引用
方法1
在程序中引入Spire.Doc.dll文件;将Spire.Doc for .NET下载到本地,解压,找到BIN文件夹下的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。
方法2
通过NuGet安装。可通过以下2种方法安装:
1.可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Spire.Doc”,点击“安装”。等待程序安装完成。
2.将以下内容复制到PM控制台安装。- Install-Package Spire.Doc -Version 10.1.14
复制代码
代码示例
给每页添加文字水印时,可参考如下步骤:
- 创建Document类的对象,并通过LoadFromFile(string fileName)方法加载Word文档。
- 通过Document.Sections[]属性获取指定节。
- 通过HeadersFooters.Header属性获取页眉,HeaderFooter.AddParagraph()方法添加段落到页眉。
- 创建ShapeObject类的对象,并传入参数设置形状类型为TextPlainText类型的艺术字。并调用方法设置艺术字样式,如艺术字高度、宽度、旋转、颜色、对齐方式等。
- 使用DocumentObjectCollection.Add(IDocumentObject)方法将艺术字添加到段落。
- 最后,通过Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存文档。
不同页面中设置不一样的文字水印效果,只需要获取该页面对应的节,然后参考上述用到的方法来添加即可。
C#- using Spire.Doc;
- using Spire.Doc.Documents;
- using Spire.Doc.Fields;
- using System.Drawing;
- namespace TextWatermark2
- {
- class Program
- {
- static void Main(string[] args)
- {
- //加载Word测试文档
- Document doc = new Document();
- doc.LoadFromFile("test.docx");
- //获取文档第一节
- Section section1 = doc.Sections[0];
- //定义水印文字的纵向坐标位置
- float y = section1.PageSetup.PageSize.Height/3;
- //添加文字水印1
- HeaderFooter header1 = section1.HeadersFooters.Header;//获取页眉
- header1.Paragraphs.Clear();//删除原有页眉格式的段落
- Paragraph para1 = header1.AddParagraph();//重新添加段落
-
- //添加艺术字并设置大小
- ShapeObject shape1 = new ShapeObject(doc, ShapeType.TextPlainText);
- shape1.Width = 362;
- shape1.Height = 118;
- //设置艺术字文本内容、位置及样式(即文本水印字样)
- shape1.Rotation = 315;
- shape1.WordArt.Text = "内部使用";
- shape1.FillColor = Color.ForestGreen;
- shape1.LineStyle = ShapeLineStyle.Single;
- shape1.StrokeColor = Color.ForestGreen;
- shape1.StrokeWeight = 0.5;
- shape1.VerticalPosition = y;
- shape1.HorizontalAlignment = ShapeHorizontalAlignment.Center;
- para1.ChildObjects.Add(shape1);
- //同理设置第二节页眉中的文字水印2
- Section section2 = doc.Sections[1];
- HeaderFooter header2 = section2.HeadersFooters.Header;
- header2.Paragraphs.Clear();
- Paragraph para2 = header2.AddParagraph();
- ShapeObject shape2 = new ShapeObject(doc, ShapeType.TextPlainText);
- shape2.Width = 362;
- shape2.Height = 118;
- shape2.Rotation = 315;
- shape2.WordArt.Text = "绝密资料";
- shape2.FillColor = Color.HotPink;
- shape2.LineStyle = ShapeLineStyle.Single;
- shape2.StrokeColor = Color.HotPink;
- shape2.StrokeWeight = 0.5;
- shape2.VerticalPosition = y;
- shape2.HorizontalAlignment = ShapeHorizontalAlignment.Center;
- para2.ChildObjects.Add(shape2);
- //同理设置第三节中的页眉中的文字水印3
- Section section3 = doc.Sections[2];
- HeaderFooter header3 = section3.HeadersFooters.Header;
- header3.Paragraphs.Clear();
- Paragraph para3 = header3.AddParagraph();
- ShapeObject shape3 = new ShapeObject(doc, ShapeType.TextPlainText);
- shape3.Width = 362;
- shape3.Height = 118;
- shape3.Rotation = 315;
- shape3.WordArt.Text = "禁止传阅";
- shape3.FillColor = Color.DarkOrange;
- shape3.LineStyle = ShapeLineStyle.Single;
- shape3.StrokeColor = Color.DarkOrange;
- shape3.StrokeWeight = 0.5;
- shape3.VerticalPosition = y;
- shape3.HorizontalAlignment = ShapeHorizontalAlignment.Center;
- para3.ChildObjects.Add(shape3);
- //保存文档
- doc.SaveToFile("DifferentTextWatermark.docx", FileFormat.Docx2013);
- System.Diagnostics.Process.Start("DifferentTextWatermark.docx");
- }
- }
- }
复制代码 VB.NET- Imports Spire.Doc
- Imports Spire.Doc.Documents
- Imports Spire.Doc.Fields
- Imports System.Drawing
- Namespace TextWatermark2
- Class Program
- Private Shared Sub Main(args As String())
- '加载Word测试文档
- Dim doc As New Document()
- doc.LoadFromFile("test.docx")
- '获取文档第一节
- Dim section1 As Section = doc.Sections(0)
- '定义水印文字的纵向坐标位置
- Dim y As Single = section1.PageSetup.PageSize.Height / 3
- '添加文字水印1
- Dim header1 As HeaderFooter = section1.HeadersFooters.Header
- '获取页眉
- header1.Paragraphs.Clear()
- '删除原有页眉格式的段落
- Dim para1 As Paragraph = header1.AddParagraph()
- '重新添加段落
- '添加艺术字并设置大小
- Dim shape1 As New ShapeObject(doc, ShapeType.TextPlainText)
- shape1.Width = 362
- shape1.Height = 118
- '设置艺术字文本内容、位置及样式(即文本水印字样)
- shape1.Rotation = 315
- shape1.WordArt.Text = "内部使用"
- shape1.FillColor = Color.ForestGreen
- shape1.LineStyle = ShapeLineStyle.[Single]
- shape1.StrokeColor = Color.ForestGreen
- shape1.StrokeWeight = 0.5
- shape1.VerticalPosition = y
- shape1.HorizontalAlignment = ShapeHorizontalAlignment.Center
- para1.ChildObjects.Add(shape1)
- '同理设置第二节页眉中的文字水印2
- Dim section2 As Section = doc.Sections(1)
- Dim header2 As HeaderFooter = section2.HeadersFooters.Header
- header2.Paragraphs.Clear()
- Dim para2 As Paragraph = header2.AddParagraph()
- Dim shape2 As New ShapeObject(doc, ShapeType.TextPlainText)
- shape2.Width = 362
- shape2.Height = 118
- shape2.Rotation = 315
- shape2.WordArt.Text = "绝密资料"
- shape2.FillColor = Color.HotPink
- shape2.LineStyle = ShapeLineStyle.[Single]
- shape2.StrokeColor = Color.HotPink
- shape2.StrokeWeight = 0.5
- shape2.VerticalPosition = y
- shape2.HorizontalAlignment = ShapeHorizontalAlignment.Center
- para2.ChildObjects.Add(shape2)
- '同理设置第三节中的页眉中的文字水印3
- Dim section3 As Section = doc.Sections(2)
- Dim header3 As HeaderFooter = section3.HeadersFooters.Header
- header3.Paragraphs.Clear()
- Dim para3 As Paragraph = header3.AddParagraph()
- Dim shape3 As New ShapeObject(doc, ShapeType.TextPlainText)
- shape3.Width = 362
- shape3.Height = 118
- shape3.Rotation = 315
- shape3.WordArt.Text = "禁止传阅"
- shape3.FillColor = Color.DarkOrange
- shape3.LineStyle = ShapeLineStyle.[Single]
- shape3.StrokeColor = Color.DarkOrange
- shape3.StrokeWeight = 0.5
- shape3.VerticalPosition = y
- shape3.HorizontalAlignment = ShapeHorizontalAlignment.Center
- para3.ChildObjects.Add(shape3)
- '保存文档
- doc.SaveToFile("DifferentTextWatermark.docx", FileFormat.Docx2013)
- System.Diagnostics.Process.Start("DifferentTextWatermark.docx")
- End Sub
- End Class
- End Namespace
复制代码 如图,每一页均可显示不同的文字水印效果:

★相关推荐阅读:
—END—
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |