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

目录
  • 方法思路
  • dll引入
    • 方法1
    • 方法2
  • 代码示例
    • C#
    • vb.net

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

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

以上就是C#实现给Word每一页设置不同图片水印的详细内容,更多关于C# Word设置图片水印的资料请关注我们其它相关文章!

(0)

相关推荐

  • C#(.net)水印图片的生成完整实例

    本文以一个完整实例讲述了C#水印图片的生成方法.是非常实用的技巧.分享给大家供大家参考. 具体实例代码如下: /* * * 使用说明: * 建议先定义一个WaterImage实例 * 然后利用实例的属性,去匹配需要进行操作的参数 * 然后定义一个WaterImageManage实例 * 利用WaterImageManage实例进行DrawImage(),印图片水印 * DrawWords()印文字水印 * */ using System; using System.Drawing; using

  • Java实现为Word每一页设置不同图片水印的效果

    目录 方法思路 Jar引入 Java代码 示例代码 补充 Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以Java代码为例,对Word每一页设置不同的图片水印效果作详细介绍. 方法思路 在给Word每一页添加水印前,首先需要在Word文档每一页正文的最后一个字符后面插入“连续”分节符,然后在每一节的页眉段落里添加水印图片,并设置图片的坐标位置.对齐方式.衬与文字下

  • C# 添加图片水印类实现代码

    复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.IO; using System.Drawing.Imaging; using System.Web; using System.Drawing.Drawing2D; using System.Reflection; namespace Chen { public clas

  • c#添加图片、文本水印到PDF文件

    概述 一般我们在向文档添加水印时,会分为直接添加文字水印和加载图片添加图片水印两种情况.常见的,在添加文字水印时会多以声明文档版权.权威性的文字.标语或者名称等:同样的,图片水印也通常可以是某组织的LOGO.印章.或者其他能够指示性的图片等.在下面的文档中,将介绍通过C#编程来添加PDF水印的方法,包括: 1 添加文本水印 2 添加图片水印 使用工具 Spire.PDF for .NET C#代码示例(供参考) [示例1]添加PDF文本水印 using Spire.Pdf; using Spir

  • C#如何给word文档添加水印

    和PDF一样,在word中,水印也分为图片水印和文本水印,给文档添加图片水印可以使文档变得更为美观,更具有吸引力.文本水印则可以保护文档,提醒别人该文档是受版权保护的,不能随意抄袭.前面我分享了如何给PDF添加水印,有人问我如何给word文档添加水印,今天正好有空,就记录一下我是如何实现的. 步骤其实很简单,为了节省时间和简化代码规模,我从E-iceblue官网上下载了一个免费word组件,解压安装之后,参考官网的教程,创建项目,并按步骤对代码进行了简单的设置.下面就来看看如何通过这个组件实现上

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

    目录 方法思路 dll引入 方法1 方法2 代码示例 C# vb.net Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以C#代码为例,对Word每一页设置不同的图片水印效果作详细介绍. 方法思路 在给Word每一页添加水印前,首先需要在Word文档每一页正文的最后一个字符后面插入“连续”分节符,然后在每一节的页眉段落里添加水印图片,并设置图片的坐标位置.对齐方式

  • C#实现给Word每一页设置不同文字水印的方法详解

    目录 方法思路 dll引用 代码示例 Word中设置水印时,可使用预设的文字或自定义文字设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以C# 代码为例,对Word每一页设置不同的文字水印效果作详细介绍. 方法思路 在给Word每一页添加文字水印前,首先需要在Word文档每一页正文的最后一个字符后面插入“连续”分节符,然后在每一节的页眉段落里添加艺术字形状,并设置形状大小.对齐方式等.最后保存文档

  • 使用C#实现在word中插入页眉页脚的方法

    针对Word的操作是很多程序都具备的功能,本文即以实例展示使用C#实现在word中插入页眉页脚的方法,供大家参考借鉴,具体方法如下: 一.插入页脚的方法: public void InsertFooter(string footer) { if (ActiveWindow.ActivePane.View.Type == WdViewType.wdNormalView || ActiveWindow.ActivePane.View.Type == WdViewType.wdOutlineView)

  • IOS LaunchScreen设置启动图片与启动页停留时间详解

     iOS LaunchScreen设置启动图片 启动页停留时间 问题:想实现类似微信启动页一样 设置为一个整页面的图片 问题二:iOS启动页面如何设置多停留一会 新建的iOS 项目启动画面默认为LaunchScreen.xib 如果想实现一张图片作为启动页,如下图 如果启动不行  记得clear 一下工程 是启动页停留一段时间  只需要在 AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunching

  • Java如何给Word文档添加多行文字水印

    前言 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文字水印的情况.所以,本文将演示如何使用Java程序来为Word文档添加多行文字水印. 代码测试环境: Intellij Idea2019.1 JDK 1.8.0 Spire.Doc.jar Jar包获取及导入 方法一:手动将Jar包导入IDEA.具体步骤如下: 步骤 1:在 E-iceblue中文官

  • Java在Word中添加多行图片水印

    Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页面.(添加多行文字水印效果,可以查看这篇文章中的方法) 程序环境:使用spire.doc.jar,版本:3.9.0 Java代码: import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.d

  • Java添加Word文本水印和图片水印

    水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire.Doc for Java (免费版) Jar导入 方法1:通过官网下载控件包.在程序下新建一个directory目录,并命名(本示例中命名为lib):将控件包lib文件夹下的jar(如下图1)复制到程序中新建的目录下. 图1: 复制jar文件后,鼠标右键点击jar文件,选择"Add as Libr

  • PHP替换Word中变量并导出PDF图片的实现方法

    在线生成合同信息,一个 word 文件里面有些信息需要通过数据库读取计算出并填写到 word 文档中最终显示在线 pdf 预览功能,接下来我交大家如果实现该需求 2.接下来实现如何替换文档内容 我们新建一个 aa.docx 的文档,里面放了一个变量信息 3.接下来使用 php 来替换这个变量信息 代码如下 ... use PhpOffice\PhpWord\TemplateProcessor; ... $path = storage_path('aa.docx'); // 生成world 存放目

  • Android如何设置圆角图片

    在开发过程中有时需要将图片显示成圆角图片,一般我们可以通过在xml中设置drawable shape即可,但今天我给出另一种方法,用java代码动态去设置圆角,顺便做个简单的笔记. 主要原理是使用系统自带api: RoundedBitmapDrawableFactory 先上效果图: 由于比较简单,直接给出实现方式: public class MainActivity extends AppCompatActivity { private ImageView mImgRectRound; pri

随机推荐