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.