乐趣区

关于java:Java-给Word文档添加水印

在 Word 增加水印,能够无效地爱护文档的机密性和避免别人抄袭,也能够作为文档的版权申明或草稿标记,不便进行对立治理。在 Word 中增加水印的办法有很多种,比方应用内置的“水印”性能、应用“页眉 / 页脚”性能、应用插入图片 / 文本框并调整其透明度等形式。这里我想介绍如何通过 Java 程序,以编程的形式来增加水印。水印包含图片水印和文本水印。所用到的工具是 Free Spire.Doc for Java。上面是具体的办法和示例代码。

程序环境:

IntelliJ IDEA 2018 (jdk 1.8.0)
在进行操作之前先导入 jar 包,请参考以下两种导入形式:
办法一 :如果应用的是 maven,能够增加以下代码到我的项目的 pom.xml 文件中。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc.free</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

办法二 :如果没有应用 maven,则能够从此链接下载 Free Spire.Doc for Java,找到 lib 文件夹下的 Spire.doc.jar 并进行解压;而后在 IDEA 中创立一个新我的项目,顺次点击“文件”(File),“我的项目构造”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“jar 文件或门路”(JARs or Directories),找到解压后的 Spire.doc.jar 文件,点击确认,将其导入到我的项目中。

增加文本水印

具体方法:

  • 创立一个 Document 实例。
  • 应用 Document.loadFromFile() 办法加载示例 Word 文档。
  • 应用 Document.getSections().get() 办法获取第一节。
  • 创立一个 TextWatermark 实例。
  • 应用 TextWatermark 类提供的办法设置文本水印的文本、字体大小、色彩和布局。
  • 应用 Section.getDocument().setWatermark() 办法将文本水印增加到示例文档。
  • 应用 Document.saveToFile() 办法保留文件。

示例代码:

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

public class WordTextWatermark {public static void main(String[] args) {
        // 创立一个 Document 实例
        Document document = new Document();

        // 加载示例 Word 文档
        document.loadFromFile("sample.docx");

        // 获取第一节
        Section section = document.getSections().get(0);

        // 创立一个 TextWatermark 实例
        TextWatermark txtWatermark = new TextWatermark();

        // 设置文本水印格局
        txtWatermark.setText("外部秘密");
        txtWatermark.setFontSize(40);
        txtWatermark.setColor(Color.red);
        txtWatermark.setLayout(WatermarkLayout.Diagonal);

        // 将文本水印增加到示例文档
        section.getDocument().setWatermark(txtWatermark);

        // 保留文件
        document.saveToFile("result1.docx", FileFormat.Docx);
    }

}

效果图:

图片水印

具体方法:

  • 创立一个 Document 实例。
  • 应用 Document.loadFromFile() 办法加载示例 Word 文档。
  • 创立一个 PictureWatermark 实例。
  • 应用 PictureWatermark.setPicture() 办法加载图像作为图像水印,而后应用 PictureWatermark.setScaling() 办法和 PictureWatermark.isWashout() 办法设置图像水印的缩放和冲洗属性。
  • 应用 Document.setWatermark() 办法将图像水印增加到示例文档中。
  • 应用 Document.saveToFile() 办法保留文件。

示例代码:

import com.spire.doc.*;


public class WordImageWatermark {public static void main(String[] args)  throws Exception{
        // 创立一个 Document 实例
        Document document = new Document();

        // 加载示例 Word 文档
        document.loadFromFile("sample.docx");

        // 创立一个 PictureWatermark 实例
        PictureWatermark picture = new PictureWatermark();

        // 设置图像水印格局
        picture.setPicture("logo.png");
        picture.setScaling(100);
        picture.isWashout(false);

        // 将图像水印增加到示例文档中
        document.setWatermark(picture);

        // 保留文件
        document.saveToFile("result2.docx",FileFormat.Docx);
    }
}

效果图:

退出移动版