В предыдущей главе мы узнали, как вставить изображение в документ PDF. В этой главе мы обсудим, как добавить JavaScript в документ PDF.
Добавление JavaScript в PDF-документ
Вы можете добавить действия JavaScript в PDF-документ, используя класс PDActionJavaScript . Это представляет действие JavaScript.
Ниже приведены шаги для добавления действий JavaScript в существующий документ PDF.
Шаг 1. Загрузка существующего PDF-документа
Загрузите существующий документ PDF, используя статический метод load () класса PDDocument . Этот метод принимает объект файла в качестве параметра, поскольку это статический метод, который можно вызвать, используя имя класса, как показано ниже.
File file = new File("path of the document") PDDocument document = PDDocument.load(file);
Шаг 2: Создание объекта PDActionJavaScript
Создайте объект PDActionJavaScript, как показано ниже. В конструктор этого класса передайте необходимый JavaScript в форме String, как показано ниже.
String javaScript = "app.alert( {cMsg: 'this is an example', nIcon: 3," + " nType: 0,cTitle: 'PDFBox Javascript example' } );"; PDActionJavaScript PDAjavascript = new PDActionJavaScript(javaScript);
Шаг 3: Встраивание Java-скрипта в документ
Вставьте необходимую строку в PDF-документ, как показано ниже.
document.getDocumentCatalog().setOpenAction(PDAjavascript);
Шаг 4: Сохранение документа
После добавления необходимого содержимого сохраните документ PDF с помощью метода save () класса PDDocument, как показано в следующем блоке кода.
document.save("Path");
Шаг 5: Закрытие документа
Наконец, закройте документ с помощью метода close () класса PDDocument, как показано ниже.
document.close();
пример
Предположим, у нас есть документ PDF с именем sample.pdf по пути C: / PdfBox_Examples / с пустыми страницами, как показано ниже.
Этот пример демонстрирует, как встроить JavaScript в вышеупомянутый документ PDF. Здесь мы загрузим документ PDF с именем sample.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, он отобразит предупреждающее сообщение, как показано ниже.