Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法。下面,将以C#代码为例,对Word每一页设置不同的图片水印效果作详细介绍。

方法思路

在给Word每一页添加水印前,首先需要在Word文档每一页正文的最后一个字符后面插入“连续”分节符,然后在每一节的页眉段落里添加水印图片,并设置图片的坐标位置、对齐方式、衬于文字下方等。最后保存文档。

dll引入

方法1

在程序中引入Spire.Doc.dll文件;将 Free Spire.Doc for .NET 下载到本地,解压,找到BIN文件夹下的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

方法2

通过  NuGet 安装。可通过以下2种方法安装:

1. 可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。

2. 将以下内容复制到PM控制台安装。

Install-Package FreeSpire.Doc -Version 10.2.0

代码示例

给每页添加图片水印时,可参考如下步骤:

  • 创建Document类的对象,并通过LoadFromFile(string fileName)方法加载Word文档。
  • 通过Document.Sections[]属性获取指定节。
  • 通过HeadersFooters.Header属性获取页眉,HeaderFooter.AddParagraph()方法添加段落到页眉。
  • 通过Paragraph.AppendPicture(string imgFile)方法添加图片到段落,DocPicture.VerticalPosition属性设置水印图片位置,DocPicture.HorizontalAlignment属性设置图片对齐方式。
  • 最后,通过Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存文档。

不同页面中设置不一样的图片水印效果,只需要获取该页面对应的节,然后参考上述用到的方法来添加即可。

C#

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields; namespace ImageWatermark2
{
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();//重新添加段落
DocPicture pic1 = para1.AppendPicture("logo1.png");//添加图片
pic1.TextWrappingStyle = TextWrappingStyle.Behind;//图片置于文字下方
pic1.VerticalPosition = y;
pic1.HorizontalAlignment = ShapeHorizontalAlignment.Center;//设置图片对齐方式 //同理设置第二节页眉中的图片水印2
Section section2 = doc.Sections[1];
HeaderFooter header2 = section2.HeadersFooters.Header;
header2.Paragraphs.Clear();
Paragraph para2 = header2.AddParagraph();
DocPicture pic2 = para2.AppendPicture("logo2.png");
pic2.TextWrappingStyle = TextWrappingStyle.Behind;
pic2.VerticalPosition = y;
pic2.HorizontalAlignment = ShapeHorizontalAlignment.Center; //同理设置第三节中的页眉中的图片水印3
Section section3 = doc.Sections[2];
HeaderFooter header3 = section3.HeadersFooters.Header;
header3.Paragraphs.Clear();
Paragraph para3 = header3.AddParagraph();
DocPicture pic3 = para3.AppendPicture("logo3.png");
pic3.TextWrappingStyle = TextWrappingStyle.Behind;
pic3.VerticalPosition = y;
pic3.HorizontalAlignment = ShapeHorizontalAlignment.Center; //保存文档
doc.SaveToFile("DifferentImageWatermark.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("DifferentImageWatermark.docx");
}
}
}

vb.net

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields Namespace ImageWatermark2
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 pic1 As DocPicture = para1.AppendPicture("logo1.png")
'添加图片
pic1.TextWrappingStyle = TextWrappingStyle.Behind
'图片置于文字下方
pic1.VerticalPosition = y
pic1.HorizontalAlignment = ShapeHorizontalAlignment.Center
'设置图片对齐方式
'同理设置第二节页眉中的图片水印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 pic2 As DocPicture = para2.AppendPicture("logo2.png")
pic2.TextWrappingStyle = TextWrappingStyle.Behind
pic2.VerticalPosition = y
pic2.HorizontalAlignment = ShapeHorizontalAlignment.Center '同理设置第三节中的页眉中的图片水印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 pic3 As DocPicture = para3.AppendPicture("logo3.png")
pic3.TextWrappingStyle = TextWrappingStyle.Behind
pic3.VerticalPosition = y
pic3.HorizontalAlignment = ShapeHorizontalAlignment.Center '保存文档
doc.SaveToFile("DifferentImageWatermark.docx", FileFormat.Docx2013)
System.Diagnostics.Process.Start("DifferentImageWatermark.docx")
End Sub
End Class
End Namespace

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

—END—

C# 给Word每一页设置不同图片水印的更多相关文章

  1. Java 给Word每一页设置不同图片水印效果

    Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以Java代码为例, ...

  2. Java 给Word每一页设置不同文字水印效果

    Word中设置水印时,可预设的文字或自定义文字设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以Ja ...

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

    Word中设置水印时,可预设的文字或自定义文字设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以C# ...

  4. word从任意页设置页码

    把所有页都设置页码 首先设置分隔符,下一页 在第二节中,找到插入页码,设置起始页码为1即可

  5. Word 最后一页无法删除-解决办法

    Word 最后一页无法删除-解决办法 制服 word 最后一页无法删除 今天在做一个简历的时候,编辑 word 文档的时候,最后一页空白页怎么也删不掉,百度了很多方法之后,只有一个可行,记录一下. 1 ...

  6. 使用 Word 写作论文时设置格式技巧记录

    这里主要记录使用 Word 2013 版本的 Microsoft office Word 软件进行论文书写时的一些常用的格式设置技巧,以供分享与记录. Word文档页脚添加页码 Word设置多级标题格 ...

  7. word页码上加横线&&word删除单页页眉

    word(2010)页码上加横线 插入——>页脚(选择年刊型)——>如图 然后拖住“竖条条”将页码拖到正中间——>点中页脚右击——>选中“表格属性”——>“边框和底纹”— ...

  8. iOS启动页设置

    点击项目->TARGETS->App Icons and Launch Images->Launch Images Source->Use Asset Catalog...-& ...

  9. 自定义word快捷键,设置插入图片快捷键

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 自定义word快捷键,设置插入图片快捷键 文件→选项→自定义功能区 选择键盘快捷方式 自 ...

随机推荐

  1. Mybatis配置解析(核心配置文件)

    4.配置解析 4.1.核心配置文件 Mybatis的配置文件包含了会深深影响mybatis行为的设置和属性信息 mybatis-config.xml properties(属性)重点 settings ...

  2. Go Error 嵌套到底是怎么实现的?

    原文链接: Go Error 嵌套到底是怎么实现的? Go Error 的设计哲学是 「Errors Are Values」. 这句话应该怎么理解呢?翻译起来挺难的.不过从源码的角度来看,好像更容易理 ...

  3. VUE3 之 全局组件与局部组件

    1. 概述 老话说的好:忍耐是一种策略,同时也是一种性格磨炼. 言归正传,今天我们来聊聊 VUE 的全局组件与局部组件. 2. 全局组件 2.1 不使用组件的写法  <body> < ...

  4. day2 数组字符串逆序存放正序对接调试

    这个问题仔细想了想,是s,t,s[],t[],重定义了,导致输入的是s,t这个定义变量,与传参传的是指针变量就不匹配了. 如果加上对s,t的地址,让传参的形式想匹配,还是报错,这块也没有弄懂,初步觉的 ...

  5. 《剑指offer》面试题49. 丑数

    问题描述 我们把只包含因子 2.3 和 5 的数称作丑数(Ugly Number).求按从小到大的顺序的第 n 个丑数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5 ...

  6. Javascript中常用事件集合和事件使用方法

    Javascript中常用事件集合和事件使用方法 一.事件绑定 格式: 事件源 . on事件类型=事件处理函数 事件绑定三要素 1.事件源:和谁绑定 2.事件类型:什么事件 3.事件处理函数:触发了要 ...

  7. 学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)

    题头为"学习鸟哥Linux私房菜"的内容,均为博主在看鸟哥的Linux私房菜第三版的学习经历收获.以下正文: 鸟哥第一部分讲Linux规则与安装,看到第四章正式开始讲实际安装,于是 ...

  8. 推荐召回--基于用户的协同过滤UserCF

    目录 1. 前言 2. 原理 3. 数据及相似度计算 4. 根据相似度计算结果 5. 相关问题 5.1 如何提炼用户日志数据? 5.2 用户相似度计算很耗时,有什么好的方法? 5.3 有哪些改进措施? ...

  9. 带你十天轻松搞定 Go 微服务系列(三)

    序言 我们通过一个系列文章跟大家详细展示一个 go-zero 微服务示例,整个系列分十篇文章,目录结构如下: 环境搭建 服务拆分 用户服务(本文) 产品服务 订单服务 支付服务 RPC 服务 Auth ...

  10. 一:linux安装nginx

    目录 1.yun安装 2.二进制安装 3.编译安装 1.yun安装 nginx官网:https://nginx.org/ [root@web01 ~]# vim /etc/yum.repos.d/ng ...