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

 

Spire.Cloud.PDF提供了PdfWartermarkApi接口,支持给PDF添加文本水印和图片水印。本文将介绍如何使用PdfWartermarkApi接口实现给PDF添加文本水印和图片水印。

首先:通过Maven仓库安装Spire.Cloud.SDK jar包及依赖,详细步骤可参考这篇文章

其次:通过冰蓝云官网(https://cloud.e-iceblue.cn/)注册账号并登陆,在“我的应用”版块创建应用程序,获得App ID及App Key。

第三:上传PDF示例文档至冰蓝云官网的“文档管理”版块。为了便于文档管理,您也可以先创建文件夹“input”和“output”,然后将示例上传至input文件夹,output文件夹用于存放生成的文档。

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

最后:在Java程序中编写代码给PDF文档添加文本水印和图片水印。

添加文本水印示例代码

import spire.cloud.pdf.sdk.ApiException;
import spire.cloud.pdf.sdk.Configuration;
import spire.cloud.pdf.sdk.api.PdfWartermarkApi;
import spire.cloud.pdf.sdk.model.*;

public class AddTextWatermark {
    static String appId = "APP ID";
    static String appKey = "APP Key";
    static String baseUrl= "https://api.e-iceblue.cn";

    public static void main(String[] args) throws ApiException {
        //配置APP ID和APP Key
        Configuration configuration = new Configuration(appId, appKey, baseUrl);
        //创建PdfWartermarkApi实例
        PdfWartermarkApi pdfWartermarkApi = new PdfWartermarkApi(configuration);

        //需要添加文本水印的PDF示例文档名称
        String name = "Sample.pdf";
        //存放示例文档的文件夹
        String folder = "input";
        //示例文档的密码
        String password =null;
        //需要添加水印的PDF页面索引(索引从1开始)
        int pageNumber = 1;
        //使用冰蓝云默认的存储空间
        String storage= null;
        //生成文档路径
        String outPath = "output/AddTextWartermark.pdf";

        //创建Text实例
        Text text = new Text();
        //创建Font实例
        Font font  = new Font();
        //设置文本的字体、区域、颜色和内容等属性
        font.setFontType(Font.FontTypeEnum.STANDARD);
        font.setFontFamily("Helvetica");
        font.setFontSize(15f);
        font.setFontStyle(Font.FontStyleEnum.REGULAR);
        text.setFont(font);
        RectangleF rect = new RectangleF();
        rect.setX(10f);
        rect.setY(10f);
        rect.setWidth(100f);
        rect.setHeight(100f);
        text.setRect(rect);
        Color c1=new Color();
        c1.setA(100);
        c1.setR(0);
        c1.setG(0);
        c1.setB(255);
        text.setBackgroundColor(c1);
        Color c2 = new Color();
        c2.setA(100);
        c2.setR(255);
        c2.setG(0);
        c2.setB(0);
        text.setForegroundColor(c2);
        text.setValue("Text Watermark");

        //创建TextWartermark实例
        TextWartermark textWartermark = new TextWartermark();
        RectangleF rec = new RectangleF();
        rec.setX(10f);
        rec.setY(10f);
        rec.setWidth(500f);
        rec.setHeight(500f);
        //设置水印的区域、文本、横纵向的个数、透明度和旋转度等属性
        textWartermark.setRect(rec);
        textWartermark.setText(text);
        textWartermark.setHorizontalCopies(2);
        textWartermark.setVerticalCopies(3);
        textWartermark.setTransparency(0.3f);
        textWartermark.setRotationAngle(45f);

        //调用addTextWartermark方法给示例文档添加文本水印
        pdfWartermarkApi.addTextWartermark(name, outPath, pageNumber, textWartermark,  folder, storage, password);
    }
}

添加文本水印后得到的生成文档效果图:

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

添加图片水印示例代码

import spire.cloud.pdf.sdk.ApiException;
import spire.cloud.pdf.sdk.Configuration;
import spire.cloud.pdf.sdk.api.PdfWartermarkApi;

import java.io.File;

public class AddImageWatermark {
    static String appId = "APP ID";
    static String appKey = "APP Key";
    static String baseUrl= "https://api.e-iceblue.cn";

    public static void main(String[] args) throws ApiException {
        //配置APP ID和APP Key
        Configuration configuration = new Configuration(appId, appKey, baseUrl);
        //创建PdfWartermarkApi实例
        PdfWartermarkApi pdfWartermarkApi = new PdfWartermarkApi(configuration);

        //需要添加图片水印的PDF示例文档名称
        String name = "Sample.pdf";
        //存放示例文档的文件夹
        String folder = "input";
        //示例文档的密码
        String password = null;
        //使用冰蓝云默认的存储空间
        String storage = null;
        //生成文档路径
        String outPath = "output/AddImageWartermark.pdf";
        //需要添加图片水印的页面索引(索引从1开始)
        int pageNumber = 1;
        //获取图片
        File file = new File("E:/Program Files/E-iceblue.png");
        //图片水印位置的横坐标
        float x = 250;
        //图片水印位置的纵坐标
        float y = 300;
        //图片水印的宽度
        float width = 100;
        //图片水印的高度
        float height = 100;

        //调用addImageWartermark方法给示例文档添加图片水印
        pdfWartermarkApi.addImageWartermark(name, outPath, pageNumber, file, x, y, width, height, folder, storage, password);
    }
}

添加图片水印后得到的生成文档效果图:

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