Spire.Cloud.Word 给 Word 文档添加文本水印和图片水印

 

Spire.Cloud.Word API 给开发者提供了一个 WatermarksApi 类,用于添加和操作水印。本文将介绍如何使用 Spire.Cloud.Word API 给 Word 文档添加水印,包括文本水印和图片水印。

详细步骤如下:

1、首先,请在 cloud.e-iceblue.cn 网站上注册一个账户并登录,然后点击导航栏“我的应用” ,创建一个应用,获得 App ID 和 App Key。

使用 Spire.Cloud.Word 给 Word 文档添加文本水印和图片水印

2、点击导航栏“文档管理”,将 Word 文档和水印图片上传至“我的文档”。

使用 Spire.Cloud.Word 给 Word 文档添加文本水印和图片水印

3、创建一个 Maven 应用程序,在 pom.xml 文件中添加 Spire.Cloud.Word 的 Maven 依赖。详细步骤参考文章 通过 Maven 仓库安装 Spire.Cloud Web API

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>cloud</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>

<dependencies>

    <dependency>
            <groupId> cloud </groupId>
            <artifactId>spire.cloud.sdk</artifactId>
            <version>3.5.0</version>
        </dependency>

    <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>1.5.18</version>
    </dependency>

    <dependency>
        <groupId>com.squareup.okhttp</groupId>
        <artifactId>okhttp</artifactId>
        <version>2.7.5</version>
    </dependency>

    <dependency>
        <groupId>com.squareup.okhttp</groupId>
        <artifactId>logging-interceptor</artifactId>
        <version>2.7.5</version>
    </dependency>

    <dependency>
        <groupId> com.squareup.okio </groupId>
        <artifactId>okio</artifactId>
        <version>1.6.0</version>
    </dependency>

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.1</version>
    </dependency>

    <dependency>
        <groupId>io.gsonfire</groupId>
        <artifactId>gson-fire</artifactId>
        <version>1.8.0</version>
    </dependency>

    <dependency>
        <groupId>org.threeten</groupId>
        <artifactId>threetenbp</artifactId>
        <version>1.3.5</version>
    </dependency>

</dependencies>

4、新建 Java class,调用 Spire.Cloud.Word API 给 Word 文档添加水印。


添加文本水印示例代码

import spire.cloud.word.sdk.client.ApiException;
import spire.cloud.word.sdk.client.Configuration;
import spire.cloud.word.sdk.client.api.WatermarksApi;
import spire.cloud.word.sdk.client.model.Color;
import spire.cloud.word.sdk.client.model.Font;
import spire.cloud.word.sdk.client.model.TextWatermark;

public class TextWatermark {
    private static String appId = "App ID";
    private static String appKey = "App Key";

    public static void main(String[] args) throws ApiException {

        //配置App ID和App Key
        Configuration wordConfiguration = new Configuration(appId, appKey);
        //创建WatermarksApi实例
        WatermarksApi watermarksApi = new WatermarksApi(wordConfiguration);

        //原文档
        String name = "template.docx";
        //存放原文档的文件夹,没有则为null
        String folder = null;
        //使用冰蓝云配置的2G空间存贮文档,可设置为null
        String storage = null;
        //文档密码,没有则为null
        String password = null;

        //创建TextWatermark实例
        TextWatermark txtWatermark = new TextWatermark("内部使用");
        //设置水印排版方式
        txtWatermark.setLayout(TextWatermark.LayoutEnum.DIAGONAL);
        Color color = new Color(255, 0, 0);
        Font font = new Font("宋体", 80f, color);
        //设置水印字体
        txtWatermark.setFont(font);

        //添加文本水印到文档并保存到指定路径
        String destFilePath = "output/setTextWatermark.docx";
        watermarksApi.setTextWatermark(name, txtWatermark, destFilePath, folder, storage, password);        
    }
}

使用 Spire.Cloud.Word 给 Word 文档添加文本水印和图片水印

添加图片水印示例代码

import spire.cloud.word.sdk.client.ApiException;
import spire.cloud.word.sdk.client.Configuration;
import spire.cloud.word.sdk.client.api.WatermarksApi;

public class ImageWatermark {
    private static String appId = "App ID";
    private static String appKey = "App Key";

    public static void main(String[] args) throws ApiException {
        
        //配置App ID和App Key
        Configuration wordConfiguration = new Configuration(appId, appKey);
        //创建WatermarksApi实例
        WatermarksApi watermarksApi = new WatermarksApi(wordConfiguration);

        //原文档
        String fileName = "template.docx";
        //水印图片
        String imagePath = "background.png";
        //存放原文档的文件夹,没有则为null
        String folder = null;
        //使用冰蓝云配置的2G空间存贮文档,可设置为null
        String storage = null;
        //水印图片缩放比例
        Integer scaling = 120;
        //是否冲蚀
        Boolean washout = true;
        //文档密码,没有则为null
        String password = null;

        //添加图片水印到文档并保存到指定路径
        String destFilePath = "output/setImageWatermark.docx";
        watermarksApi.setImageWatermark(fileName, imagePath, destFilePath, folder, storage, scaling, washout, password);
    }
}

使用 Spire.Cloud.Word 给 Word 文档添加文本水印和图片水印