在前一章中,我們學習了如何將影象插入到PDF文件中。 在本章中,將學習如何將JavaScript新增到PDF文件。
可以使用PDActionJavaScript
類將JavaScript操作新增到PDF文件。 它代表了JavaScript操作。
以下是將JavaScript操作新增到現有PDF文件的步驟。
第1步:載入現有的PDF文件
使用PDDocument
類的load()
靜態方法載入現有的PDF文件。 此方法接受一個檔案物件作為引數,因為這是一個靜態方法,可以使用類名稱呼叫它,如下所示。
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
第2步:建立PDActionJavaScript物件
範例化PDActionJavaScript
物件,如下所示。 在這個類別建構函式中,以String的形式傳遞所需的JavaScript,如下所示。
String javaScript = "app.alert( {cMsg: 'this is an example', nIcon: 3,"
+ " nType: 0,cTitle: 'PDFBox Javascript example' } );";
PDActionJavaScript PDAjavascript = new PDActionJavaScript(javaScript);
第3步:在文件中嵌入Javascript
如下所示將必需的字串嵌入到PDF文件中。
document.getDocumentCatalog().setOpenAction(PDAjavascript);
第4步:儲存文件
在新增所需內容後,使用PDDocument
類的save()
方法儲存PDF文件,如以下程式碼塊所示。
document.save("Path");
第5步:關閉文件
最後,使用PDDocument
類的close()
方法關閉文件,如下所示。
document.close();
假設有一個名稱為sample.pdf
的PDF文件,儲存在目錄:F:\worksp\pdfbox
,其空頁如下所示。
這個例子演示了如何在上面提到的PDF文件中嵌入JavaScript。 在這裡,將載入sample.pdf PDF文件並在其中嵌入JavaScript。 將此程式碼儲存在名稱為AddJavaScript.java
的檔案中。
package com.yiibai;
import java.io.File;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.interactive.action.PDActionJavaScript;
public class AddJavaScript {
public static void main(String args[]) throws Exception {
//Loading an existing file
File file = new File("F:/worksp/pdfbox/sample.pdf");
PDDocument document = PDDocument.load(file);
String javaScript = "app.alert( {cMsg: 'this is an example', nIcon: 3,"
+ " nType: 0, cTitle: 'PDFBox Javascript example’} );";
//Creating PDActionJavaScript object
PDActionJavaScript PDAjavascript = new PDActionJavaScript(javaScript);
//Embedding java script
document.getDocumentCatalog().setOpenAction(PDAjavascript);
//Saving the document
document.save( new File("F:/worksp/pdfbox/smaple-js.pdf") );
System.out.println("Data added to the given PDF");
//Closing the document
document.close();
}
}
執行上面範例程式碼,得到以下結果 -
Data added to the given PDF
開啟生成的PDF檔案:smaple-js.pdf,應該會看到有以下提示資訊 -