欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實(shí)現(xiàn)給Word每一頁(yè)設(shè)置不同文字水印的方法詳解

 更新時(shí)間:2022年07月26日 15:04:39   作者:E-iceblue  
Word中設(shè)置水印時(shí),可使用預(yù)設(shè)的文字或自定義文字設(shè)置為水印效果,但通常添加水印效果時(shí),會(huì)對(duì)所有頁(yè)面都設(shè)置成統(tǒng)一效果。本文以C#?代碼為例,對(duì)Word每一頁(yè)設(shè)置不同的文字水印效果作詳細(xì)介紹,感興趣的可以了解一下

Word中設(shè)置水印時(shí),可使用預(yù)設(shè)的文字或自定義文字設(shè)置為水印效果,但通常添加水印效果時(shí),會(huì)對(duì)所有頁(yè)面都設(shè)置成統(tǒng)一效果,如果需要對(duì)每一頁(yè)或者某個(gè)頁(yè)面設(shè)置不同的水印效果,則可以參考本文中的方法。下面,將以C# 代碼為例,對(duì)Word每一頁(yè)設(shè)置不同的文字水印效果作詳細(xì)介紹。

方法思路

在給Word每一頁(yè)添加文字水印前,首先需要在Word文檔每一頁(yè)正文的最后一個(gè)字符后面插入“連續(xù)”分節(jié)符,然后在每一節(jié)的頁(yè)眉段落里添加藝術(shù)字形狀,并設(shè)置形狀大小、對(duì)齊方式等。最后保存文檔。

dll引用

方法1

在程序中引入Spire.Doc.dll文件;將Spire.Doc for .NET下載到本地,解壓,找到BIN文件夾下的Spire.Doc.dll。然后在Visual Studio中打開(kāi)“解決方案資源管理器”,鼠標(biāo)右鍵點(diǎn)擊“引用”,“添加引用”,將本地路徑BIN文件夾下的dll文件添加引用至程序。

方法2

通過(guò)NuGet安裝。可通過(guò)以下2種方法安裝:

1.可以在Visual Studio中打開(kāi)“解決方案資源管理器”,鼠標(biāo)右鍵點(diǎn)擊“引用”,“管理NuGet包”,然后搜索“Spire.Doc”,點(diǎn)擊“安裝”。等待程序安裝完成。

2.將以下內(nèi)容復(fù)制到PM控制臺(tái)安裝。

Install-Package Spire.Doc -Version 10.1.14

代碼示例

給每頁(yè)添加文字水印時(shí),可參考如下步驟:

  • 創(chuàng)建Document類(lèi)的對(duì)象,并通過(guò)LoadFromFile(string fileName)方法加載Word文檔。
  • 通過(guò)Document.Sections[]屬性獲取指定節(jié)。
  • 通過(guò)HeadersFooters.Header屬性獲取頁(yè)眉,HeaderFooter.AddParagraph()方法添加段落到頁(yè)眉。
  • 創(chuàng)建ShapeObject類(lèi)的對(duì)象,并傳入?yún)?shù)設(shè)置形狀類(lèi)型為TextPlainText類(lèi)型的藝術(shù)字。并調(diào)用方法設(shè)置藝術(shù)字樣式,如藝術(shù)字高度、寬度、旋轉(zhuǎn)、顏色、對(duì)齊方式等。
  • 使用DocumentObjectCollection.Add(IDocumentObject)方法將藝術(shù)字添加到段落。
  • 最后,通過(guò)Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存文檔。

不同頁(yè)面中設(shè)置不一樣的文字水印效果,只需要獲取該頁(yè)面對(duì)應(yīng)的節(jié),然后參考上述用到的方法來(lái)添加即可。

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測(cè)試文檔
            Document doc = new Document();
            doc.LoadFromFile("test.docx");

            //獲取文檔第一節(jié)
            Section section1 = doc.Sections[0];

            //定義水印文字的縱向坐標(biāo)位置
            float y = section1.PageSetup.PageSize.Height/3;

            //添加文字水印1
            HeaderFooter header1 = section1.HeadersFooters.Header;//獲取頁(yè)眉
            header1.Paragraphs.Clear();//刪除原有頁(yè)眉格式的段落
            Paragraph para1 = header1.AddParagraph();//重新添加段落
            
            //添加藝術(shù)字并設(shè)置大小
            ShapeObject shape1 = new ShapeObject(doc, ShapeType.TextPlainText);
            shape1.Width = 362;
            shape1.Height = 118;
            //設(shè)置藝術(shù)字文本內(nèi)容、位置及樣式(即文本水印字樣)
            shape1.Rotation = 315;
            shape1.WordArt.Text = "內(nèi)部使用";
            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);

            //同理設(shè)置第二節(jié)頁(yè)眉中的文字水印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);

            //同理設(shè)置第三節(jié)中的頁(yè)眉中的文字水印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測(cè)試文檔
            Dim doc As New Document()
            doc.LoadFromFile("test.docx")

            '獲取文檔第一節(jié)
            Dim section1 As Section = doc.Sections(0)

            '定義水印文字的縱向坐標(biāo)位置
            Dim y As Single = section1.PageSetup.PageSize.Height / 3

            '添加文字水印1
            Dim header1 As HeaderFooter = section1.HeadersFooters.Header
            '獲取頁(yè)眉
            header1.Paragraphs.Clear()
            '刪除原有頁(yè)眉格式的段落
            Dim para1 As Paragraph = header1.AddParagraph()
            '重新添加段落
            '添加藝術(shù)字并設(shè)置大小
            Dim shape1 As New ShapeObject(doc, ShapeType.TextPlainText)
            shape1.Width = 362
            shape1.Height = 118
            '設(shè)置藝術(shù)字文本內(nèi)容、位置及樣式(即文本水印字樣)
            shape1.Rotation = 315
            shape1.WordArt.Text = "內(nèi)部使用"
            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)

            '同理設(shè)置第二節(jié)頁(yè)眉中的文字水印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)

            '同理設(shè)置第三節(jié)中的頁(yè)眉中的文字水印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

如圖,每一頁(yè)均可顯示不同的文字水印效果:

到此這篇關(guān)于C#實(shí)現(xiàn)給Word每一頁(yè)設(shè)置不同文字水印的方法詳解的文章就介紹到這了,更多相關(guān)C# Word設(shè)置文字水印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#實(shí)現(xiàn)設(shè)置電腦顯示器參數(shù)

    C#實(shí)現(xiàn)設(shè)置電腦顯示器參數(shù)

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)設(shè)置電腦顯示器參數(shù),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#操作INI文件的示例代碼

    C#操作INI文件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C#操作INI文件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨上班一起學(xué)習(xí)一下
    2023-12-12
  • C#遞歸算法之快速排序

    C#遞歸算法之快速排序

    快速排序由C.A.R發(fā)明,它依據(jù)中心元素的值,利用一系列遞歸調(diào)用將數(shù)據(jù)表劃分成越來(lái)越小的子表。在每一步調(diào)用中,經(jīng)過(guò)多次的交換,最終為中心元素找到最終的位置。
    2016-06-06
  • C#使用OpenCvSharp實(shí)現(xiàn)透視變換功能

    C#使用OpenCvSharp實(shí)現(xiàn)透視變換功能

    這篇文章主要為大家詳細(xì)介紹了C#如何使用OpenCvSharp實(shí)現(xiàn)透視變換的功能,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考下
    2023-11-11
  • VS?Code里使用Debugger?for?Unity插件調(diào)試的方法(2023最新版)

    VS?Code里使用Debugger?for?Unity插件調(diào)試的方法(2023最新版)

    Debugger for Unity是一個(gè)非正式支持的,官方推薦的,應(yīng)用最廣的,Visual Studio Code上的Unity調(diào)試插件,這篇文章主要介紹了VS?Code里使用Debugger?for?Unity插件進(jìn)行調(diào)試(2023最新版),需要的朋友可以參考下
    2023-02-02
  • C#根據(jù)年月日計(jì)算星期幾的函數(shù)

    C#根據(jù)年月日計(jì)算星期幾的函數(shù)

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)根據(jù)年月日計(jì)算星期幾的函數(shù),感興趣的小伙伴們可以參考一下
    2016-08-08
  • C# 抓取網(wǎng)頁(yè)內(nèi)容的方法

    C# 抓取網(wǎng)頁(yè)內(nèi)容的方法

    C# 抓取網(wǎng)頁(yè)內(nèi)容的方法,需要的朋友可以參考一下
    2013-04-04
  • 淺析WPF中Binding的數(shù)據(jù)校驗(yàn)和類(lèi)型轉(zhuǎn)換

    淺析WPF中Binding的數(shù)據(jù)校驗(yàn)和類(lèi)型轉(zhuǎn)換

    在WPF開(kāi)發(fā)中,Binding實(shí)現(xiàn)了數(shù)據(jù)在Source和Target之間的傳遞和流通,那在WPF開(kāi)發(fā)中,如何實(shí)現(xiàn)數(shù)據(jù)的校驗(yàn)和類(lèi)型轉(zhuǎn)換呢,下面就跟隨小編一起學(xué)習(xí)一下吧
    2024-03-03
  • C#中System.Text.Json匿名對(duì)象反序列化

    C#中System.Text.Json匿名對(duì)象反序列化

    這篇文章主要介紹了System.Text.Json匿名對(duì)象反序列化,下文代碼基于. NET 6,為了代碼整潔,實(shí)際配置了PropertyNameCaseInsensitive = true,本文結(jié)合實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • C#對(duì)DataTable里數(shù)據(jù)排序的方法

    C#對(duì)DataTable里數(shù)據(jù)排序的方法

    在日常開(kāi)發(fā)過(guò)程中,有一個(gè)DataTable集合,里面有很多字段,現(xiàn)在要求針對(duì)某一列進(jìn)行排序,如果該列為數(shù)字的話,進(jìn)行ASC即可實(shí)現(xiàn),但是該字段類(lèi)型為string,此時(shí)排序就有點(diǎn)不正確了
    2013-11-11

最新評(píng)論