PDFBox - JavaScript w dokumencie PDF

W poprzednim rozdziale dowiedzieliśmy się, jak wstawiać obraz do dokumentu PDF. W tym rozdziale omówimy, jak dodać JavaScript do dokumentu PDF.

Dodawanie JavaScript do dokumentu PDF

Możesz dodać akcje JavaScript do dokumentu PDF za pomocą PDActionJavaScriptklasa. To reprezentuje akcję JavaScript.

Poniżej przedstawiono kroki, aby dodać akcje JavaScript do istniejącego dokumentu PDF.

Krok 1: Ładowanie istniejącego dokumentu PDF

Załaduj istniejący dokument PDF metodą statyczną load() z PDDocumentklasa. Ta metoda akceptuje obiekt pliku jako parametr, ponieważ jest to metoda statyczna, którą można wywołać za pomocą nazwy klasy, jak pokazano poniżej.

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

Krok 2: Tworzenie obiektu PDActionJavaScript

Utwórz wystąpienie PDActionJavaScriptobiekt, jak pokazano poniżej. Do konstruktora tej klasy przekaż wymagany JavaScript w postaci String, jak pokazano poniżej.

String javaScript = "app.alert( {cMsg: 'this is an example', nIcon: 3,"
   + " nType: 0,cTitle: 'PDFBox Javascript example' } );";       
PDActionJavaScript PDAjavascript = new PDActionJavaScript(javaScript);

Krok 3: Osadzanie skryptu Java w dokumencie

Osadź wymagany ciąg w dokumencie PDF, jak pokazano poniżej.

document.getDocumentCatalog().setOpenAction(PDAjavascript);

Krok 4: Zapisywanie dokumentu

Po dodaniu wymaganej treści zapisz dokument PDF za pomocą rozszerzenia save() metoda PDDocument klasa, jak pokazano w poniższym bloku kodu.

document.save("Path");

Krok 5: Zamknięcie dokumentu

Na koniec zamknij dokument za pomocą close() metoda PDDocument klasa, jak pokazano poniżej.

document.close();

Przykład

Załóżmy, że mamy dokument PDF o nazwie sample.pdf, na ścieżce C:/PdfBox_Examples/ z pustymi stronami, jak pokazano poniżej.

Ten przykład pokazuje, jak osadzić JavaScript w wyżej wymienionym dokumencie PDF. Tutaj załadujemy dokument PDF o nazwiesample.pdfi umieść w nim JavaScript. Zapisz ten kod w pliku o nazwieAddJavaScript.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();

   }
}

Skompiluj i uruchom zapisany plik Java z wiersza poleceń, używając następujących poleceń.

javac AddJavaScript.java 
java AddJavaScript

Po uruchomieniu powyższy program osadza JavaScript w danym dokumencie PDF wyświetlając następujący komunikat.

Data added to the given PDF

Jeśli spróbujesz otworzyć dokument new.pdf wyświetli komunikat ostrzegawczy, jak pokazano poniżej.