PDFBox - JavaScript dans un document PDF
Dans le chapitre précédent, nous avons appris à insérer une image dans un document PDF. Dans ce chapitre, nous verrons comment ajouter du JavaScript à un document PDF.
Ajout de JavaScript à un document PDF
Vous pouvez ajouter des actions JavaScript à un document PDF à l'aide du PDActionJavaScriptclasse. Cela représente une action JavaScript.
Voici les étapes pour ajouter des actions JavaScript à un document PDF existant.
Étape 1: chargement d'un document PDF existant
Charger un document PDF existant en utilisant la méthode statique load() du PDDocumentclasse. Cette méthode accepte un objet fichier en tant que paramètre, puisqu'il s'agit d'une méthode statique, vous pouvez l'appeler en utilisant le nom de classe comme indiqué ci-dessous.
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
Étape 2: Création de l'objet PDActionJavaScript
Instancier le PDActionJavaScriptobjet comme indiqué ci-dessous. Au constructeur de cette classe, transmettez le JavaScript requis sous la forme de String comme indiqué ci-dessous.
String javaScript = "app.alert( {cMsg: 'this is an example', nIcon: 3,"
+ " nType: 0,cTitle: 'PDFBox Javascript example' } );";
PDActionJavaScript PDAjavascript = new PDActionJavaScript(javaScript);
Étape 3: intégration du script Java dans le document
Incorporez la chaîne requise au document PDF comme indiqué ci-dessous.
document.getDocumentCatalog().setOpenAction(PDAjavascript);
Étape 4: enregistrement du document
Après avoir ajouté le contenu requis, enregistrez le document PDF à l'aide du save() méthode de la PDDocument class comme indiqué dans le bloc de code suivant.
document.save("Path");
Étape 5: fermeture du document
Enfin, fermez le document en utilisant close() méthode de la PDDocument classe comme indiqué ci-dessous.
document.close();
Exemple
Supposons que nous ayons un document PDF nommé sample.pdf, Sur le chemin C:/PdfBox_Examples/ avec des pages vides comme indiqué ci-dessous.
Cet exemple montre comment incorporer JavaScript dans le document PDF mentionné ci-dessus. Ici, nous allons charger le document PDF nommésample.pdfet intégrez-y JavaScript. Enregistrez ce code dans un fichier avec un nomAddJavaScript.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();
}
}
Compilez et exécutez le fichier Java enregistré à partir de l'invite de commande à l'aide des commandes suivantes.
javac AddJavaScript.java
java AddJavaScript
Lors de l'exécution, le programme ci-dessus incorpore JavaScript dans le document PDF donné affichant le message suivant.
Data added to the given PDF
Si vous essayez d'ouvrir le document new.pdf il affichera un message d'alerte comme indiqué ci-dessous.