Thêm JavaScript vào tệp PDF trong Java

PDF là một trong những định dạng tài liệu được sử dụng rộng rãi vì bố cục nhất quán của nó trên các nền tảng không đồng nhất. Hơn nữa, nó có thể được hiển thị trong các ứng dụng phần mềm dựa trên máy tính để bàn cũng như các trình duyệt web cùng một lúc. Sự hỗ trợ của các trình duyệt web làm cho các tệp PDF có khả năng chạy JavaScript. Trong bài viết này, bạn sẽ tìm hiểu cách thêm hoặc xóa JavaScript trong tệp PDF theo chương trình Java.

Java API để thêm hoặc xóa JavaScript trong PDF - Tải xuống miễn phí

Aspose.PDF dành cho Java là một API tuyệt vời cung cấp một loạt các tính năng để tạo và thao tác PDF. Với API này, bạn có thể tạo mới và thao tác liền mạch với các tệp PDF hiện có. Chúng tôi sẽ sử dụng API này để thêm và xóa JavaScript trong các tệp PDF. Bạn có thể tải xuống API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.

Kho:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Sự phụ thuộc:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

Thêm JavaScript vào tệp PDF trong Java

Các tệp PDF hỗ trợ Acrobat JavaScript, dựa trên cốt lõi của JavaScript phiên bản 1.5 của ISO-16262, trước đây được gọi là ECMAScript. Nó là một ngôn ngữ kịch bản hướng đối tượng được phát triển bởi Netscape Communications. Trước khi tiếp tục thêm JavaScript vào tệp PDF, chúng ta hãy xem xét sự khác biệt giữa Acrobat JavaScript và HTML JavaScript được sử dụng trong trình duyệt web.

  • Acrobat JavaScript không có quyền truy cập vào các đối tượng trong trang HTML. Tương tự, HTML JavaScript không thể truy cập các đối tượng trong tệp PDF.
  • HTML JavaScript có thể thao tác các đối tượng như Window. Tuy nhiên, Acrobat JavaScript không thể truy cập các đối tượng cụ thể này nhưng nó có thể thao tác các đối tượng cụ thể của PDF.

Sau đây là các bước để thêm JavaScript vào tệp PDF.

Mẫu mã sau đây cho thấy cách thêm JavaScript vào tệp PDF.

// Tải tệp PDF
Document doc = new Document("input.pdf");

// Khởi tạo JavascriptAction với câu lệnh JavaScript mong muốn
JavascriptAction javaScript = new JavascriptAction("this.print({bUI:true,bSilent:false,bShrinkToFit:true});");

// Gán đối tượng JavascriptAction cho hành động mong muốn của tài liệu
doc.setOpenAction(javaScript);

// Thêm JavaScript ở cấp độ trang
doc.getPages().get_Item(1).getActions().setOnOpen(new JavascriptAction("app.alert('page 1 opened')"));
doc.getPages().get_Item(1).getActions().setOnClose(new JavascriptAction("app.alert('page 1 closed')"));

// Lưu tài liệu PDF
doc.save("output.pdf");

Java Thêm JavaScript cấp độ tài liệu trong PDF

Bạn cũng có thể thêm JavaScript vào cấp tài liệu bằng phương thức Document.getJavaScript(). SetItem(). Sau đây là các bước để thêm JavaScript vào cấp tài liệu trong Java.

Mẫu mã sau đây cho thấy cách thêm tập lệnh JS vào tệp PDF trong Java.

// Tải tệp PDF
Document doc = new Document("input.pdf");

// Thêm JavaScript cấp tài liệu
doc.getJavaScript().set_Item("func1", "function func1() { hello(); }");
doc.getJavaScript().set_Item("func2", "function func1() { hello(); }");

// Lưu tài liệu PDF
doc.save("output.pdf");

Java Xóa JavaScript khỏi tệp PDF

Sau đây là các bước để xóa JavaScript khỏi tệp PDF trong Java.

Mẫu mã sau đây cho thấy cách xóa JavaScript khỏi tệp PDF trong Java.

// Tải tệp PDF
Document doc = new Document("input.pdf");

// Xóa JavaScript bằng khóa
doc.getJavaScript().remove("func1");

// Lưu tài liệu PDF
doc.save("output.pdf");

Java API để Thêm / Xóa JavaScript trong PDF - Nhận Giấy phép Miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.PDF for Java mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách thêm JavaScript vào tệp PDF trong Java. Hơn nữa, bạn đã thấy cách xóa JavaScript khỏi tệp PDF theo chương trình. Bên cạnh đó, bạn có thể khám phá thêm về Java PDF API bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ câu hỏi hoặc thắc mắc nào, bạn có thể liên hệ với chúng tôi qua diễn đàn của chúng tôi.

Xem thêm