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(); } }
生成的文档如果已过期则提示过期信息,关闭对话框后不可查看过期文档。