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; //新增文字水印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—
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31499788/viewspace-2857409/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C# 給Word每一頁設定不同圖片水印C#
- Java 給Word每一頁設定不同文字水印效果Java
- Java 給Word每一頁設定不同圖片水印效果Java
- Java 給 Word 文件每一頁新增不同圖片水印Java
- C# 給Word不同頁面設定不同背景C#
- Java 給Word不同頁面設定不同背景Java
- C# 設定Word文字框中的文字旋轉方向C#
- C#/VB.NET 新增多行文字水印到Word文件C#
- word設定頁碼在哪裡 word設定自動連續頁碼
- word頁碼怎麼從第三頁開始設定為第一頁 word設定某也為第一頁的方法
- Java 設定Word文字框中的文字旋轉方向Java
- word怎樣設定單獨一頁為橫向 word單頁改變紙張方向
- word下一頁分節符怎麼刪 word如何取消分節符設定
- win10 word文字底紋怎麼設定_win10word底紋怎麼設定Win10
- html頁面自定義文字水印效果案例HTML
- 如何針對不同客戶給不同價格的設定?
- win10系統下如何在word任意頁尾設定頁碼_win10在word中設定頁尾頁碼的方法Win10
- win10系統怎麼設定word頁邊距_win10設定word頁邊距的步驟Win10
- 如何設定word首頁封面不出現頁首和編碼
- C# 實現PPT 每一頁轉成圖片C#
- text_blind_watermark%3A 給文字加隱水印
- 對不同角色使用者設定不同的系統首頁
- C#給自動屬性設定預設值C#
- C# 處理PPT水印(三)—— 在PPT中新增多行(平鋪)文字水印效果C#
- Android開發筆記——TextView文字設定不同顏色Android筆記TextView
- C# 給PDF文件設定過期時間C#
- vue · 使用vue-router設定每個頁面的titleVue
- win10每個桌面一個桌布怎麼設定 win10電腦如何設定不同桌面一個桌布Win10
- win10系統下word文件如何新增頁首頁尾_win10 word文件頁首頁尾怎麼設定Win10
- win10系統如何設定Word背景顏色_win10 word頁面背景顏色設定步驟Win10
- word分欄怎麼設定 word設定分欄的方法
- word底紋怎麼設定 設定word底紋的方法
- wps頁首怎麼取消與上一節相同 wps怎麼設定不同的頁首
- 線上直播系統原始碼,android 中一段文字設定不同顏色原始碼Android
- C# 設定或驗證 PDF中的文字域格式C#
- c#獲取word檔案頁數、字數C#
- Java 在Word指定段落/文字位置插入分頁符Java
- 去除所有word水印最強方法