有些文檔具有一定時效性,需在規定時間段內才可閱讀查看,針對此類文檔,需要設置文檔的過期日期、時間等。下面以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(); } }
生成的文檔如果已過期則提示過期信息,關閉對話框后不可查看過期文檔。