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

news/2024/11/15 9:46:53/文章来源:https://www.cnblogs.com/lgx5/p/18378880

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;//添加图片水印1HeaderFooter 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;//设置图片对齐方式//同理设置第二节页眉中的图片水印2Section 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;//同理设置第三节中的页眉中的图片水印3Section 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");}}
}

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787046.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP开启openssl的方法

如果主机没有开启openssl,那么ZBlog在启用主题或者插件会提示:Call to undefined function openssl_pkey_get_public() 开启openssl的方法: 打开php.ini搜索extension=php_openssl.dll 将这段代码前边的【;】符号去掉,保存。如果不存在这行,那么添加extension=php_openssl…

关于Allowed memory size of (PHP内存溢出)错误的可能原因及解决方案

部分站点会出现PHP内存溢出错误,此错误多见于有大量文章的采集站点。报错信息类似:Allowed memory size of 123456 bytes exhausted (tried to allocate 1234 bytes)。 将其(注释或删除)即可解决扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,…

ZBlog插件开发文件结构(插件)

以下基于通过「创建应用」生成的初始文件: /path/zb_users/plugin/demoPlugin │ logo.png [必需]图标,128x128; │ plugin.xml [必需]自述文件; │ main.php [可选]应用内置管理页,在创建插件时填写才会生成; │ include.php [可选]应用嵌入页,…

ZBlog模板内使用PHP

在相应内容输出前,可以使用如下语法额外对数据进行处理; {php} // 这里可以写原生 PHP; $myVar = "变量值"; {/php} <p>输出一个自定义变量:{$myVar}</p> <p>当前 Z-BlogPHP 版本是:{$version}</p>//还可以用<?php ?>符号在{ph…

ZBlog开启固定域名功能

使用空间面板的文件管理或者 FTP 修改文件:path/zb_users/c_option.php;配置项:ZC_PERMANENT_DOMAIN_FORCED_URL => "https://www.newdomin.site/",path:当前博客程序所放置的路径,比如/home/wwwroot/www.zblogcn.com; 注:如果是 1.6.0 之前的版本,请覆盖…

ZBlog强制开启 Debug 调试模式

常规开启调试模式是在后台设置中进行,在后台设置的全局设置里打开“调试模式”并保存即可。 如果网站程序出错,不能进入后台进行设置,那么在 1.7.3 及更高版本可以在这样设置: 使用空间面板的文件管理或者 FTP 修改文件:path/zb_users/c_option.php; ZC_DEBUG_MODE =>…

ZBlog固定域名出错不能登入怎么办

使用空间面板的文件管理或者 FTP 修改文件:path/zb_users/c_option.php;如果是固定域名出错,需要关闭固定域名功能,请在 c_option.php增加项目: ZC_PERMANENT_DOMAIN_ENABLE => false, //1.7.3版本及以后版本使用//或是 ZC_PERMANENT_DOMAIN_WHOLE_DISABLE => true,…

tips in windows/ 1.windows文件路径最长限制

1.windows文件路径最长限制场景:在用文件资源管理器删除名称超过255字符的文件(文件名最大字符限制就是255)时,发现删除不了,也没反应原因:windows删除调用的是explorer,对路径限制不能超过260,此时超过了,但又由于是应用层,所以不会直接给以报错。使用杀毒软件可以是…

ZBlog网站密码重置Z-BlogPHP 密码找回工具

注:nologin.php 非常的危险,使用后请立即删除。 对于有终端权限的空间,可以使用下边命令直接获取密码重置工具,改名后相对可以提升一些安全性: wget https://raw.githubusercontent.com/zblogcn/zblogphp/master/utils/nologin.php && mv nologin.php "nolog…

ZBlog从环境变量中读取数据库配置

c_option.php 配置文件中参数的值为Zbp_GetEnv(环境变量名),就会用 Zbp_GetEnv 函数读取环境变量的值 (1.7.3 开始支持) 那么 ZC_MYSQL_SERVER, ZC_MYSQL_USERNAME, ZC_MYSQL_PASSWORD, ZC_MYSQL_NAME 这 4 个参数的值就会从 Zbp_GetEnv(DB_HOST) 等中获取 // c_option.php 示…