Java 设置PDF文档过期时间(有效期)
有些文档具有一定时效性,需在规定时间段内才可阅读查看,针对此类文档,需要设置文档的过期日期、时间等。下面以Java示例演示为例如何给PDF文档设置过期时间。需使用PDF类库, Free Spire.PDF for Java(免费版),编辑代码前,导入Spire.Pdf.jar到Java程序,参考如下方法导入jar:
方法1:下载jar包,将lib文件夹下的jar手动导入java程序;
方法2:Maven程序中需要先配置pom.xml文件(如下),然后导入:
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId> e-iceblue </groupId>
<artifactId>spire.pdf.free</artifactId>
<version>3.9.0</version>
</dependency>
</dependencies>
如下导入结果:

Java代码示例及文档操作结果:
import com.spire.pdf.*;
import com.spire.pdf.actions.PdfJavaScriptAction; public class ExpiryDate {
public static void main(String[] args) {
//加载PDF测试文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("test.pdf"); //通过JavaScript设置过期时间,过期警告信息并关闭文档
String javaScript = "var rightNow = new Date();"
+ "var endDate = new Date('June 20, 2020 23:59:59');"
+ "if(rightNow.getTime() > endDate)"
+ "app.alert('该文档已过期,请重新联系管理员获取!',1);"
+ "this.closeDoc();"; //根据JS创建PdfJavaScriptAction
PdfJavaScriptAction js = new PdfJavaScriptAction(javaScript); //将PdfJavaScriptAction设置为文档打开后的动作
pdf.setAfterOpenAction(js); //保存文档
pdf.saveToFile("ExpiryDate.pdf", FileFormat.PDF);
pdf.dispose();
}
}

生成的文档如果已过期则提示过期信息,关闭对话框后不可查看过期文档。
Java 设置PDF文档过期时间(有效期)的更多相关文章
- Java 设置PDF文档背景色
一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化以及保护双眼的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括: 设置纯色背景色 设置图 ...
- Java 设置PDF文档背景——单色背景、图片背景
一般生成的PDF文档默认的文档底色为白色,我们可以通过一定方法来更改文档的背景色,以达到文档美化的作用. 以下内容提供了Java编程来设置PDF背景色的方法.包括2种设置方法: 设置纯色背景色 设置图 ...
- Java 设置PDF文档浏览偏好
在查看PDF文档时,可进行一些浏览偏好设置,例如是否全屏浏览.隐藏或显示菜单栏/工具栏.设置页面布局模式等,下面将通过Java编程的方式来演示如何设置. 使用工具: Free Spire.PDF fo ...
- PDF文档过期时间/自毁设置
不是很完美的方法,可以凑活着用: 切换到Pages预览页,右击页面选页面属性 切换到Action,选Run a Javascript,代码: // PDF JavaScript to make it ...
- Java生成PDF文档(表格、列表、添加图片等)
需要的两个包及下载地址: (1)iText.jar:http://download.csdn.net/source/296416 (2)iTextAsian.jar(用来进行中文的转换):http:/ ...
- Java 打印PDF文档的3种情况
以下内容归纳了通过Java程序打印PDF文档时的3种情形.即: 静默打印 显示打印对话框打印 打印PDF时自定义纸张大小 使用工具:Spire.PDF for Java Jar导入: 方法1:通过官网 ...
- [开源框架推荐]Icepdf:纯java的pdf文档的提取和转换库
ICEpdf 是一个轻量级的开源 Java 语言的 PDF 类库.通过 ICEpdf 可以用来浏览.内容提取和转换 PDF 文档,而无须一些本地PDF库的支持. 可以用来做什么? 1.从pdf文件中提 ...
- Java 在PDF文档中绘制图形
本篇文档将介绍通过Java编程在PDF文档中绘制图形的方法.包括绘制矩形.椭圆形.不规则多边形.线条.弧线.曲线.扇形等等.针对方法中提供的思路,也可以自行变换图形设计思路,如菱形.梯形或者组合图形等 ...
- java读取pdf文档
import java.io.*;import org.pdfbox.pdmodel.PDDocument;import org.pdfbox.pdfparser.PDFParser;import o ...
- Java 复制PDF文档的2种方法
本文将介绍通过Java程序来复制PDF页面,包括: 跨文档复制,即从文档1复制到文档2 在同一文档内复制,即从页面A复制到页面B 使用工具:Free Spire.PDF for Java (免费版) ...
随机推荐
- Jackson--FastJson--XStream--代码执行&&反序列化
Jackson--FastJson--XStream--代码执行&&反序列化 Jackson代码执行 (CVE-2020-8840) 影响范围 2.0.0 <= FasterXM ...
- DRTREE - Dynamically-Rooted Tree 题解
DRTREE - Dynamically-Rooted Tree 本题建议评蓝. 思路: 题目就是要对一颗不定根树求子树权值和. 这题不带修,如果带修难度会增加一点,就跟 遥远的国度 差不多. 首先分 ...
- Vue之事件冒泡
1. 原生事件冒泡 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- Redis主从复制部署小结
Redis主从 搭建主从架构 单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离. 主从数据同步原理 全量同步 主从第一次建立连接时,会执行全量同 ...
- VK Cup 2016 - Round 1 (CF639)
A. Bear and Displayed Friends Div2 的题,不写. B. Bear and Forgotten Tree 3 这种东西怎么评蓝的? Description 给定 \(n ...
- 机器学习实战1-kNN最近邻算法
目录 机器学习基础 机器学习的关键术语 k-近邻算法(KNN) 准备:使用python导入数据 实施kNN分类算法 示例:使用kNN改进约会网站的配对效果 准备数据:从文本文件中解析数据 分析数据 准 ...
- 关于虚拟机的IP地址经常改变问题的解法
主要解法就是配置静态IP地址 首先了解一下IP和子网掩码,网关的含义:IP 是标识计算机特定地址的二进制数,子网掩码用于和IP组合划分子网;网关是将信息传送到网关进行收发 开始配置:首先打开Linux ...
- 火山引擎 ByteHouse:只需 2 个方法,增强 ClickHouse 数据导入能力
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 作为企业数字化建设的必备要素,易用的数据引擎能帮助企业提升数据使用效率,更好提升数据应用价值,夯实数字化建设基础. ...
- logback java动态配置【动态修改日志级别,动态修改appender】(转)
logback 动态配置 写在前面在做java日志之前,强烈建议大家读一下这篇java日志的前世今生,对理清java日志框架很有帮助!1奉上地址: 一个著名的日志系统是怎么设计出来的 然后说一下,为啥 ...
- 【PySide6】QChart笔记(三)—— QPieSeries的使用
一.QPieSeries简介 1. 官方描述 https://doc.qt.io/qtforpython-6/PySide6/QtCharts/QPieSeries.html 一个饼图序列(QPieS ...