Spire.Cloud.SDK for Java提供了接口pdfWartermarkApi可用于添加文本水印addTextWartermark()和图片水印addImageWartermark()到PDF文档。文本将通过Java示例介绍具体实现方法。首先请参考以下步骤准备程序运行环境:

一、导入jar文件。(有2种方式)

(推荐)方式1. 创建Maven项目程序,通过maven仓库下载导入。以IDEA为例,新建Maven项目,在xml文件中配置maven仓库路径,并指定spire.cloud.sdk的依赖,如下:

<repositories>
<repository>
<id>com.e-iceblue</id>
<name>cloud</name>
<url>http://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> com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.1</version>
</dependency> <dependency>
<groupId> com.squareup.okhttp</groupId>
<artifactId>logging-interceptor</artifactId>
<version>2.7.5</version>
</dependency> <dependency>
<groupId> com.squareup.okhttp </groupId>
<artifactId>okhttp</artifactId>
<version>2.7.5</version>
</dependency> <dependency>
<groupId> com.squareup.okio </groupId>
<artifactId>okio</artifactId>
<version>1.6.0</version>
</dependency> <dependency>
<groupId> io.gsonfire</groupId>
<artifactId>gson-fire</artifactId>
<version>1.8.0</version>
</dependency> <dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.18</version>
</dependency> <dependency>
<groupId> org.threeten </groupId>
<artifactId>threetenbp</artifactId>
<version>1.3.5</version>
</dependency> </dependencies>

完成配置后,点击“Import Changes” 即可导入所有需要的jar文件。如果使用的是Eclipse,可参考这里的导入方法。

导入结果:

方式2手动下载jar包,然后解压文件,手动导入jar,同时还需另行手动导入其他几个jar文件。

二、登录冰蓝云账号,创建文件夹,上传文档。

三、创建应用程序,获取App ID及App Key

完成以上步骤后,可参考以下代码示例进行水印添加。

示例1:Java 添加PDF文本水印

import spire.cloud.pdf.sdk.ApiException;
import spire.cloud.pdf.sdk.Configuration;
import spire.cloud.pdf.sdk.api.*;
import spire.cloud.pdf.sdk.model.*; public class TextWatermark {
//配置App ID和App Key等应用账号信息
static String appId = "App ID";
static String appKey = "App Key;
static String baseUrl = "https://api.e-iceblue.cn";
static Configuration configuration = new Configuration(appId, appKey, baseUrl);
static PdfWartermarkApi pdfWartermarkApi = new PdfWartermarkApi(configuration); public static void main(String[] args) throws ApiException {
String name = "sample.pdf";//用于测试的PDF文档
String outPath = "output/TextWartermark.pdf";//生成的结果文档路径(这里保存在了冰蓝云的output文件夹路径下)
int pageNumber = 2;//指定需要添加文本水印的PDF页面(第二页)
String folder = "input";//测试文档所在的云端路径(将测试的PDF文件上传到冰蓝云input的文件夹下) //创建水印文本、字体、字号等
Text text = new Text();
Font font = new Font();
font.setFontType(Font.FontTypeEnum.STANDARD);
font.setFontFamily("Helvetica");
font.setFontSize(16f);
font.setFontStyle(Font.FontStyleEnum.REGULAR);
text.setFont(font);
text.setValue("This is a test."); //绘制水印,指定文本水印坐标位置及高度、宽度
RectangleF rect = new RectangleF();
rect.setX(10f);
rect.setY(10f);
rect.setWidth(100f);
rect.setHeight(50f);
text.setRect(rect); 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); //设置水印文本颜色
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); String storage= null;//冰蓝云提供的2G存储空间,可设置为null
String password =null;//测试文档密码,测试文档没有密码则设置为null //调用方法添加文本水印
pdfWartermarkApi.addTextWartermark(name, outPath, pageNumber, textWartermark, folder, storage, password);
}
}

文本水印添加效果:

示例2:Java添加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 ImageWatermark {
//配置App ID和App Key等应用账号信息
static String appId = "App ID";
static String appKey = "App Key";
static String baseUrl = "https://api.e-iceblue.cn";
static Configuration configuration = new Configuration(appId, appKey, baseUrl);
static PdfWartermarkApi pdfWartermarkApi = new PdfWartermarkApi(configuration); public static void main(String[] args) throws ApiException {
String name = "sample.pdf";//用于测试的PDF文档
String outPath = "output/ImageWartermark.pdf";//生成的结果文档路径(这里保存在了冰蓝云的output文件夹路径下)
int pageNumber = 2;//指定需要添加图片水印的PDF页面(第二页) File file = new File("C:\\Users\\Administrator\\Desktop\\images\\logo\\java.png");//水印图片的本地路径 //指定水印坐标位置及宽度、高度
float x = 10;
float y = 10;
float width = 500;
float height = 500; String folder = "input";//测试文档所在的云端路径(将测试的PDF文件上传到冰蓝云input的文件夹下)
String password = null;//测试文档密码,测试文档没有密码则设置为null
String storage = null;//冰蓝云提供的2G存储空间,可设置为null //调用方法添加图片水印到PDF
pdfWartermarkApi.addImageWartermark(name, outPath, pageNumber, file, x, y, width, height, folder, storage, password);
}
}

图片水印效果:

(完)

Java 在PDF中添加文本水印、图片水印(基于Spire.Cloud.SDK for Java)的更多相关文章

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

    Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页 ...

  2. Java 添加、删除、替换、格式化Word中的文本(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供了TextRangesApi接口可通过addTextRange()添加文本.deleteTextRange()删除文本.updateTextRang ...

  3. Java 添加、下载、读取PDF附件信息(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供了PdfAttachmentsApi接口添加附件addAttachment().下载附件downloadAttachment().获取附件信息get ...

  4. Java 将PDF/XPS转为Word/html /SVG/PS/PCL/PNG、PDF和XPS互转(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供了接口PdfConvertApi通过convert()方法将PDF文档以及XPS文档转为指定文档格式,如转PDF为Word(支持Docx.Doc). ...

  5. Java 设置Excel单元格格式—基于Spire.Cloud.SDK for Java

    本文介绍使用Spire.Cloud.SDK for Java来设置Excel单元格格式,包括字体.字号.单元格背景.字体下滑线.字体加粗.字体倾斜.字体颜色.单元格对齐方式.单元格边框等 一.下载SD ...

  6. Java 设置、删除、获取Word文档背景(基于Spire.Cloud.SDK for Java)

    本文介绍使用Spire.Cloud.SDK for Java 提供的BackgroundApi接口来操作Word文档背景的方法,可设置背景,包括设置颜色背景setBackgroundColor().图 ...

  7. Java 读取PDF中的文本和图片

    本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取.   使用工具:Free Spire.PDF for Ja ...

  8. Spire.Cloud.SDK for Java 合并、拆分Excel单元格

    Spire.Cloud.SDK for Java 是Spire.Cloud云产品系列中,用于处理Word.Excel.PowerPoint以及PDF文档的JAR文件,可执行文档编辑.转换.保存等操作. ...

  9. Java 在PDF 中添加超链接

    对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分.按照使用对象的不同,链接又可以分为:文本超链接,图像超链接,E-mai ...

  10. C# 加密、解密PDF文档(基于Spire.Cloud.SDK for .NET)

    Spire.Cloud.SDK for .NET提供了接口PdfSecurityApi可用于加密.解密PDF文档.本文将通过C#代码演示具体加密及解密方法. 使用工具: Spire.Cloud.SDK ...

随机推荐

  1. win11系统无法解决的死结

    如果需要使用网上银行.win11一定不能使用. win11已经取消了,对于IE浏览器的支持和安装. 但是大部分网银都是要求IE浏览器.或者IE内核.实际过程当中.虽然所有的浏览器都说兼容IE有IE内核 ...

  2. DevOps2023现状报告|注重文化、以用户为中心是成功的关键

    Google Cloud DORA 团队的一份新研究报告强调了企业文化和关注用户作为成功软件交付支柱的重要性. 2023 DevOps 状况报告分析了过去 9 年来通过此类最大规模调查收集的全球 36 ...

  3. 实验1 C语言输入输出和简单程序编写

    1.试验任务1 task1.c //打印一个字符小人 #include <stdio.h> int main() { printf(" o \n"); printf(& ...

  4. Maven 项目工程

    maven打包java --jar1.安装jdk2.安装maven   --安装非常简单 网上教程很多,此步骤忽略-- 3.配置jdk/maven环境变量 # java_jdk export JAVA ...

  5. 简单实现.NET Hook与事件模拟

    最近玩<星露谷物语>上瘾,本来是看着个休闲游戏,现在玩成修仙游戏了,上百个小时浑身是肝,中午午休习惯都强行给改了. 虽然挺有意思,但是太肝了,入坑前请谨慎.补充一下,这个游戏应该是基于 X ...

  6. C#版字节跳动SDK - SKIT.FlurlHttpClient.ByteDance

    前言 在我们日常开发工作中对接第三方开放平台,找一款封装完善且全面的SDK能够大大的简化我们的开发难度和提高工作效率.今天给大家推荐一款C#开源.功能完善的字节跳动SDK:SKIT.FlurlHttp ...

  7. 使用 Jenkins + Github + dokcer-compose 部署项目-实战篇

    使用 Jenkins + Github + dokcer-compose 部署项目-实战篇 需要声明的一点是,此处实现的项目自动构建原理是 Github+Jenkins 的 webhook,因此得保证 ...

  8. js朗读实现

    js 利用window实现朗读功能 ` 发音

  9. 🔥🔥Java开发者的Python快速进修指南:实战之简易跳表

    前言 之前我已经将Python的基本语法与Java进行了比较,相信大家对Python也有了一定的了解.我不会选择去写一些无用的业务逻辑来加强对Python的理解.相反,我更喜欢通过编写一些数据结构和算 ...

  10. js实现关闭子窗口时刷新父窗口

    当我们在子窗口中关闭窗口时,可以使用JavaScript来刷新父窗口.下面是一个详细的介绍: 1. 获取父窗口对象: - 在子窗口中,可以使用`window.parent`属性获取父窗口的全局对象. ...