Word中设置水印时,可使用预设的文字或自定义文字设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法下面,将以C# 代码为例,对Word每一页设置不同的文字水印效果作详细介绍,下面我们就来说一说关于word水印文字怎么能满页?我们一起去了解并探讨一下这个问题吧!

word水印文字怎么能满页(C给Word每一页设置不同文字水印)

word水印文字怎么能满页

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"); } } }

    如图,每一页均可显示不同的文字水印效果: