当前位置:网站首页>C#/VB.NET 添加多行多列图片水印到Word文档
C#/VB.NET 添加多行多列图片水印到Word文档
2022-08-02 10:27:00 【51CTO】
在Word里面添加水印时,常见的情况是仅支持对整个页面添加一个水印效果;对于需要将水印铺满整个页面的效果则可以参考本文中的方法。本文介绍一种比较灵活的方式实现添加多行多列(平铺)图片水印到Word文档。下面是详细方法及步骤。
环境配置
引入Word API-Free Spire.Doc for .NET( Spire.Doc.dll)
1. 通过 NuGet引入dll(2种方法)的方法
(1)可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。
(2)将以下内容复制到PM控制台安装:
2. 手动添加dll引用的方法
可通过手动 下载包到本地,然后解压,找到BIN文件夹下的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。
添加多行多列图片水印
实现多行多列图片水印效果,即在页眉处添加图片,并通过多次复制图片来模拟将水印铺满整个页面的效果,根据横向复制或者纵向复制的不同图片数量,可任意调整水印图片在页面中的分布效果。以下,是本次实现图片水印的主要代码步骤:
- 创建Document类的对象,并通过Document.LoadFromFile(string fileName)方法加载Word文档。
- for循环文档中的所有Section,并通过Document.Sections[int Index]属性获取页面中的节。
- 使用HeadersFooters.Header属性获取页眉,并通过HeaderFooter.AddParagraph()方法添加段落到页眉。
- 创建DocPicture类的对象,并调用DocPicture.LoadImage(string imgFile)方法加载水印图片,以及通过TextWrappingStyle枚举值设置图片环绕方式。
- 通过for循环以DocPicture.Clone()方法多次复制图片,并通过DocPicture.VerticalPosition和DocPicture.HorizontalPosition属性设置图片位置排列。
- 调用Paragraph.ChildObjects.Add(IDocumentObject entity)方法添加图片到页眉段落。
- 最后,通过Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存文档都指定路径。
C#
VB.NET

—END—
边栏推荐
- TimerTask(addin timer语音)
- 如何选择一块真正“好用的、性能高”的远程控制软件
- LayaBox---TypeScript---迭代器和生成器
- LayaBox---TypeScript---Three slash instructions
- 食品安全 | 鱼肝油不是鱼油,家有宝宝的注意了
- 初探zend引擎
- One Summer of Open Source | How to Quickly Integrate Log Modules in GO Language Framework
- The heavyweights are coming!Spoilers for the highlights of the Alibaba Cloud Life Science and Intelligent Computing Summit
- Hongxing, donate another million
- R语言时间序列数据算术运算:使用log函数将时间序列数据的数值对数化、使用diff函数计算对数化后的时间序列数据的逐次差分(计算价格的对数差分)
猜你喜欢

How to choose a truly "easy-to-use, high-performance" remote control software

Com多进程通信实现

iNFTnews | 看见元宇宙的两面,何谓全真互联网和价值互联网?

软件测试H模型

软件测试岗位巨坑?阿里在职7年测试人告诉你千万别上当

List-based queuing and calling system

5G基础学习1、5G网络架构、网络接口及协议栈

org.apache.ibatis.binding.BindingException Invalidbound statement (not found)的解决方案和造成原因分析(超详细)

Oracle根据时间查询

如何搭建威纶通触摸屏与S7-200smart之间无线PPI通信?
随机推荐
如何封装微信小程序的 wx.request() 请求
小几届的学弟问我,软件测试岗是选11k的华为还是20k的小公司,我直呼受不了,太凡尔赛了~
Long battery life or safer?Seal and dark blue SL03 comparison shopping guide
MySql模糊查询大全
You Only Hypothesize Once: 用旋转等变描述子估计变换做点云配准(已开源)
R language ggplot2 visualization: based on the fill parameter and shape parameter in the aes function, custom draw a grouped line chart and add data points (scatter points), use the legend.position fu
3 d laser slam: LeGO - LOAM - ground point extracting method and the analysis of the code
LayaBox---TypeScript---Mixins
R语言ggplot2可视化:使用ggpubr包的ggbarplot函数可视化堆叠的柱状图(stacked bar plot)、lab.pos参数指定柱状图的数值标签的位置,lab.col参数指定数值标
Weak yen turns game consoles into "financial products" in Japan: scalpers make big profits
R语言时间序列数据的平滑:使用KernSmooth包的dpill函数和locpoly函数对时间序列数据进行平滑以消除噪声
SVN如何删除文件名包含空格的文件
Verilog's random number system task----$random
8月份的.NET Conf 活动 专注于 .NET MAUI
Linux system uninstall, install, upgrade, migrate clickHouse database
程序员的浪漫七夕
LayaBox---TypeScript---Three slash instructions
LayaBox---TypeScript---命名空间和模块
MySQL百万数据优化总结 一
R语言ggplot2可视化:使用ggpubr包的ggtexttable函数可视化表格数据(直接绘制表格图或者在图像中添加表格数据)、使用tbody_add_border为表格中的表头添加外侧框线