1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C# 给Word每一页设置不同文字水印

C# 给Word每一页设置不同文字水印

时间:2019-08-10 13:14:12

相关推荐

C# 给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;//添加文字水印1HeaderFooter 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);//同理设置第二节页眉中的文字水印2Section 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);//同理设置第三节中的页眉中的文字水印3Section 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.Docx);System.Diagnostics.Process.Start("DifferentTextWatermark.docx");}}}

Imports Spire.DocImports Spire.Doc.DocumentsImports Spire.Doc.FieldsImports System.DrawingNamespace TextWatermark2Class ProgramPrivate 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'添加文字水印1Dim 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 = 362shape1.Height = 118'设置艺术字文本内容、位置及样式(即文本水印字样)shape1.Rotation = 315shape1.WordArt.Text = "内部使用"shape1.FillColor = Color.ForestGreenshape1.LineStyle = ShapeLineStyle.[Single]shape1.StrokeColor = Color.ForestGreenshape1.StrokeWeight = 0.5shape1.VerticalPosition = yshape1.HorizontalAlignment = ShapeHorizontalAlignment.Centerpara1.ChildObjects.Add(shape1)'同理设置第二节页眉中的文字水印2Dim section2 As Section = doc.Sections(1)Dim header2 As HeaderFooter = section2.HeadersFooters.Headerheader2.Paragraphs.Clear()Dim para2 As Paragraph = header2.AddParagraph()Dim shape2 As New ShapeObject(doc, ShapeType.TextPlainText)shape2.Width = 362shape2.Height = 118shape2.Rotation = 315shape2.WordArt.Text = "绝密资料"shape2.FillColor = Color.HotPinkshape2.LineStyle = ShapeLineStyle.[Single]shape2.StrokeColor = Color.HotPinkshape2.StrokeWeight = 0.5shape2.VerticalPosition = yshape2.HorizontalAlignment = ShapeHorizontalAlignment.Centerpara2.ChildObjects.Add(shape2)'同理设置第三节中的页眉中的文字水印3Dim section3 As Section = doc.Sections(2)Dim header3 As HeaderFooter = section3.HeadersFooters.Headerheader3.Paragraphs.Clear()Dim para3 As Paragraph = header3.AddParagraph()Dim shape3 As New ShapeObject(doc, ShapeType.TextPlainText)shape3.Width = 362shape3.Height = 118shape3.Rotation = 315shape3.WordArt.Text = "禁止传阅"shape3.FillColor = Color.DarkOrangeshape3.LineStyle = ShapeLineStyle.[Single]shape3.StrokeColor = Color.DarkOrangeshape3.StrokeWeight = 0.5shape3.VerticalPosition = yshape3.HorizontalAlignment = ShapeHorizontalAlignment.Centerpara3.ChildObjects.Add(shape3)'保存文档doc.SaveToFile("DifferentTextWatermark.docx", FileFormat.Docx)System.Diagnostics.Process.Start("DifferentTextWatermark.docx")End SubEnd ClassEnd Namespace

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

★相关推荐阅读:

C# 给Word每一页设置不同图片水印

C# 给Word添加多行多列文字水印

—END—

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。