PDFBox - JavaScript im PDF-Dokument

Im vorherigen Kapitel haben wir gelernt, wie Sie Bilder in ein PDF-Dokument einfügen. In diesem Kapitel wird erläutert, wie Sie einem PDF-Dokument JavaScript hinzufügen.

Hinzufügen von JavaScript zu einem PDF-Dokument

Sie können einem PDF-Dokument mithilfe von JavaScript-Aktionen hinzufügen PDActionJavaScriptKlasse. Dies stellt eine JavaScript-Aktion dar.

Im Folgenden finden Sie die Schritte zum Hinzufügen von JavaScript-Aktionen zu einem vorhandenen PDF-Dokument.

Schritt 1: Laden eines vorhandenen PDF-Dokuments

Laden Sie ein vorhandenes PDF-Dokument mit der statischen Methode load() des PDDocumentKlasse. Diese Methode akzeptiert ein Dateiobjekt als Parameter, da dies eine statische Methode ist, die Sie unter Verwendung des Klassennamens wie unten gezeigt aufrufen können.

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

Schritt 2: Erstellen des PDActionJavaScript-Objekts

Instanziieren Sie die PDActionJavaScriptObjekt wie unten gezeigt. Übergeben Sie dem Konstruktor dieser Klasse das erforderliche JavaScript in Form eines Strings, wie unten gezeigt.

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

Schritt 3: Einbetten des Java-Skripts in das Dokument

Betten Sie die erforderliche Zeichenfolge wie unten gezeigt in das PDF-Dokument ein.

document.getDocumentCatalog().setOpenAction(PDAjavascript);

Schritt 4: Speichern des Dokuments

Speichern Sie nach dem Hinzufügen des erforderlichen Inhalts das PDF-Dokument mit dem save() Methode der PDDocument Klasse wie im folgenden Codeblock gezeigt.

document.save("Path");

Schritt 5: Schließen des Dokuments

Schließen Sie zum Schluss das Dokument mit close() Methode der PDDocument Klasse wie unten gezeigt.

document.close();

Beispiel

Angenommen, wir haben ein PDF-Dokument mit dem Namen sample.pdf, in dem Weg C:/PdfBox_Examples/ mit leeren Seiten wie unten gezeigt.

Dieses Beispiel zeigt, wie JavaScript in das oben genannte PDF-Dokument eingebettet wird. Hier laden wir das genannte PDF-Dokumentsample.pdfund JavaScript darin einbetten. Speichern Sie diesen Code in einer Datei mit NamenAddJavaScript.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();

   }
}

Kompilieren Sie die gespeicherte Java-Datei und führen Sie sie mit den folgenden Befehlen an der Eingabeaufforderung aus.

javac AddJavaScript.java 
java AddJavaScript

Bei der Ausführung bettet das obige Programm JavaScript in das angegebene PDF-Dokument ein und zeigt die folgende Meldung an.

Data added to the given PDF

Wenn Sie versuchen, das Dokument zu öffnen new.pdf Es wird eine Warnmeldung angezeigt, wie unten gezeigt.