PDFBox - JavaScript trong Tài liệu PDF
Trong chương trước, chúng ta đã học cách chèn hình ảnh vào tài liệu PDF. Trong chương này, chúng ta sẽ thảo luận về cách thêm JavaScript vào tài liệu PDF.
Thêm JavaScript vào tài liệu PDF
Bạn có thể thêm các hành động JavaScript vào tài liệu PDF bằng cách sử dụng PDActionJavaScriptlớp học. Điều này đại diện cho một hành động JavaScript.
Sau đây là các bước để thêm các hành động JavaScript vào tài liệu PDF hiện có.
Bước 1: Tải tài liệu PDF hiện có
Tải tài liệu PDF hiện có bằng phương pháp tĩnh load() sau đó PDDocumentlớp học. Phương thức này chấp nhận một đối tượng tệp làm tham số, vì đây là một phương thức tĩnh nên bạn có thể gọi nó bằng cách sử dụng tên lớp như được hiển thị bên dưới.
File file = new File("path of the document")
PDDocument document = PDDocument.load(file);
Bước 2: Tạo đối tượng PDActionJavaScript
Khởi tạo PDActionJavaScriptđối tượng như hình dưới đây. Đối với hàm tạo của lớp này, hãy chuyển JavaScript được yêu cầu ở dạng Chuỗi như được hiển thị bên dưới.
String javaScript = "app.alert( {cMsg: 'this is an example', nIcon: 3,"
+ " nType: 0,cTitle: 'PDFBox Javascript example' } );";
PDActionJavaScript PDAjavascript = new PDActionJavaScript(javaScript);
Bước 3: Nhúng tập lệnh Java vào tài liệu
Nhúng chuỗi cần thiết vào tài liệu PDF như hình dưới đây.
document.getDocumentCatalog().setOpenAction(PDAjavascript);
Bước 4: Lưu tài liệu
Sau khi thêm nội dung cần thiết, hãy lưu tài liệu PDF bằng cách sử dụng save() phương pháp của PDDocument lớp như được hiển thị trong khối mã sau.
document.save("Path");
Bước 5: Đóng tài liệu
Cuối cùng, đóng tài liệu bằng cách sử dụng close() phương pháp của PDDocument lớp như hình bên dưới.
document.close();
Thí dụ
Giả sử, chúng ta có một tài liệu PDF có tên sample.pdf, trong đường dẫn C:/PdfBox_Examples/ với các trang trống như hình dưới đây.
Ví dụ này trình bày cách nhúng JavaScript vào tài liệu PDF được đề cập ở trên. Tại đây, chúng tôi sẽ tải tài liệu PDF có tênsample.pdfvà nhúng JavaScript vào đó. Lưu mã này trong một tệp có tênAddJavaScript.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();
}
}
Biên dịch và thực thi tệp Java đã lưu từ dấu nhắc lệnh bằng các lệnh sau.
javac AddJavaScript.java
java AddJavaScript
Khi thực thi, chương trình trên nhúng JavaScript vào tài liệu PDF đã cho hiển thị thông báo sau.
Data added to the given PDF
Nếu bạn cố gắng mở tài liệu new.pdf nó sẽ hiển thị thông báo cảnh báo như hình bên dưới.