Учебники

PDFBox — JavaScript в PDF документе

В предыдущей главе мы узнали, как вставить изображение в документ 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, он отобразит предупреждающее сообщение, как показано ниже.