PDFBox - 在PDF文件中使用JavaScript



在上一章中,我們學習瞭如何將影像插入PDF文件。本章將討論如何向PDF文件新增JavaScript。

向PDF文件新增JavaScript

您可以使用PDActionJavaScript類向PDF文件新增JavaScript操作。這表示一個JavaScript操作。

以下是向現有PDF文件新增JavaScript操作的步驟。

步驟1:載入現有PDF文件

使用PDDocument類的靜態方法load()載入現有PDF文件。此方法接受檔案物件作為引數,由於這是一個靜態方法,您可以使用類名呼叫它,如下所示。

File file = new File("path of the document")
PDDocument document = PDDocument.load(file);

步驟2:建立PDActionJavaScript物件

例項化PDActionJavaScript物件,如下所示。向此類的建構函式傳遞所需的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文件,路徑為C:/PdfBox_Examples/,其中包含空頁面,如下所示。

Sample Document

此示例演示如何將JavaScript嵌入到上述PDF文件中。在這裡,我們將載入名為sample.pdf的PDF文件並在其中嵌入JavaScript。將此程式碼儲存在名為AddJavaScript.java的檔案中。

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("C:/PdfBox_Examples/new.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("C:/PdfBox_Examples/new.pdf") );
      System.out.println("Data added to the given PDF"); 

      //Closing the document
      document.close();

   }
}

使用以下命令從命令提示符編譯並執行儲存的Java檔案。

javac AddJavaScript.java 
java AddJavaScript

執行後,上述程式會將JavaScript嵌入到給定的PDF文件中,顯示以下訊息。

Data added to the given PDF

如果您嘗試開啟new.pdf文件,它將顯示如下所示的警告訊息。

Adding javascript
廣告
© . All rights reserved.