如何通过Java添加水印到Word文档

 更新时间:2019年07月09日 15:25:11   作者:Miaonly  
这篇文章主要介绍了如何通过Java添加水印到Word文档,水印是一种常用于各种文档的声明、防伪手段,一般可设置文字水印或者加载图片作为水印。以下内容将分享通过Java编程给Word文档添加水印效果的方法,需要的朋友可以参考下

前言

水印是一种常用于各种文档的声明、防伪手段,一般可设置文字水印或者加载图片作为水印。以下内容将分享通过Java编程给Word文档添加水印效果的方法,即

  • 文本水印
  • 图片水印

使用工具:Free Spire.Doc for Java 2.0.0(免费版)

Jar导入:

方法1:通过官网下载控件包。在程序下新建一个directory目录,并命名(本示例中命名为lib);将控件包lib文件夹下的jar(如下图1)拷贝到程序中新建的目录下。

图1:

复制jar文件后,鼠标右键点击jar文件,选择”Add as Library”。完成导入(如下图2)。

图2:

引用完成后,可以查看包含在其中的类、方法、属性等。如图3:

图3:

方法2:通过maven导入。参考导入方法

Java代码示例(供参考)

1.添加文本水印

import com.spire.doc.*;
import com.spire.doc.documents.WatermarkLayout;
import java.awt.*;

public class Main {

  public static void main(String[] args) {
    Document document = new Document();
    document.loadFromFile("sample.docx");

    InsertTextWatermark(document.getSections().get(0));

    document.saveToFile("textwatermark.docx",FileFormat.Docx );
  }
   private static void InsertTextWatermark(Section section){
     TextWatermark txtWatermark = new TextWatermark();
     txtWatermark.setText("内部使用");
     txtWatermark.setFontSize(40);
     txtWatermark.setColor(Color.red);
     txtWatermark.setLayout(WatermarkLayout.Diagonal);
     section.getDocument().setWatermark(txtWatermark);
   }
}

文本水印效果:

2. 添加图片水印

import com.spire.doc.*;

public class Main {

  public static void main(String[] args) {
    Document document = new Document();
    document.loadFromFile("sample.docx");

    PictureWatermark picture = new PictureWatermark();
    picture.setPicture("wx.png");
    picture.setScaling(5);
    picture.isWashout(false);
    document.setWatermark(picture);

    document.saveToFile("imagewatermark.docx",FileFormat.Docx );
  }
}

图片水印效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • eclipse springboot工程打war包方法及再Tomcat中运行的方法

    eclipse springboot工程打war包方法及再Tomcat中运行的方法

    这篇文章主要介绍了eclipse springboot工程打war包方法及再Tomcat中运行的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Java基础题新手练习(二)

    Java基础题新手练习(二)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • Java面试岗常见问题之ArrayList和LinkedList的区别

    Java面试岗常见问题之ArrayList和LinkedList的区别

    ArrayList和LinkedList作为我们Java中最常使用的集合类,很多人在被问到他们的区别时,憋了半天仅仅冒出一句:一个是数组一个是链表。这样回答简直让面试官吐血。为了让兄弟们打好基础,我们通过实际的使用测试,好好说一下ArrayList和LinkedList的区别这道经典的面试题
    2022-01-01
  • 基于java配置nginx获取真实IP代码实例

    基于java配置nginx获取真实IP代码实例

    这篇文章主要介绍了基于java配置nginx获取真实IP代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 详谈java中boolean和Boolean的区别

    详谈java中boolean和Boolean的区别

    下面小编就为大家带来一篇详谈java中boolean和Boolean的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 详解Java内存溢出的几种情况

    详解Java内存溢出的几种情况

    这篇文章主要介绍了详解Java内存溢出的几种情况,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • java中BIO、NIO、AIO都有啥区别

    java中BIO、NIO、AIO都有啥区别

    这篇文章主要介绍了java中BIO、NIO、AIO都有啥区别,IO模型就是说用什么样的通道进行数据的发送和接收,Java共支持3种网络编程IO模式:BIO,NIO,AIO,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • JAVA正则表达式匹配多个空格的解决方案

    JAVA正则表达式匹配多个空格的解决方案

    这篇文章主要介绍了JAVA正则表达式匹配多个空格的解决方案,文中提到了()和[]本质的区别,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • IntelliJ IDEA中代码一键生成方法

    IntelliJ IDEA中代码一键生成方法

    EasyCode 是基于 IntelliJ IDEA 开发的代码生成插件,支持自定义任意模板(Java,html,js,xml),这篇文章主要介绍了IntelliJ IDEA中代码一键生成方法,需要的朋友可以参考下
    2020-02-02
  • java如何去除图片中的白色背景

    java如何去除图片中的白色背景

    这篇文章主要为大家详细介绍了java去除图片中白色背景的方法,教大家如何将图片中的白色背景去掉,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04

最新评论