在 Java 中将 JavaScript 添加到 PDF 文件

PDF 是广泛使用的文档格式之一,因为其跨异构平台的布局一致。此外,它可以同时显示在基于桌面的软件应用程序以及网络浏览器中。 Web 浏览器的支持使 PDF 文件能够运行 JavaScript。在本文中,您将学习如何使用 Java 以编程方式在 PDF 文件中添加或删除 JavaScript。

用于在 PDF 中添加或删除 JavaScript 的 Java API - 免费下载

Aspose.PDF for Java 是一个了不起的 API,它提供了一系列用于 PDF 生成和操作的功能。使用此 API,您可以无缝地创建新的和操作现有的 PDF 文件。我们将使用此 API 在 PDF 文件中添加和删除 JavaScript。您可以 下载 API 或使用以下 Maven 配置安装它。

存储库:

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

依赖:

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

在 Java 中将 JavaScript 添加到 PDF 文件

PDF 文件支持 Acrobat JavaScript,它基于 JavaScript 版本 1.5 的 ISO-16262(以前称为 ECMAScript)的核心。它是由 Netscape Communications 开发的一种面向对象的脚本语言。在继续将 JavaScript 添加到 PDF 文件之前,让我们看一下 Acrobat JavaScript 和 Web 浏览器中使用的 HTML JavaScript 之间的区别。

  • Acrobat JavaScript 无权访问 HTML 页面中的对象。同样,HTML JavaScript 也无法访问 PDF 文件中的对象。
  • HTML JavaScript 能够操作诸如 Window 之类的对象。但是,Acrobat JavaScript 无法访问这些特定对象,但它可以操作 PDF 特定对象。

以下是将 JavaScript 添加到 PDF 文件的步骤。

以下代码示例展示了如何将 JavaScript 添加到 PDF 文件。

// 加载 PDF 文件
Document doc = new Document("input.pdf");

// 用所需的 JavaScript 语句实例化 JavascriptAction
JavascriptAction javaScript = new JavascriptAction("this.print({bUI:true,bSilent:false,bShrinkToFit:true});");

// 将 JavascriptAction 对象分配给文档的所需操作
doc.setOpenAction(javaScript);

// 在页面级别添加 JavaScript
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')"));

// 保存 PDF 文档
doc.save("output.pdf");

Java 在 PDF 中添加文档级 JavaScript

您还可以使用 Document.getJavaScript().setItem() 方法将 JavaScript 添加到文档级别。以下是在 Java 中将 JavaScript 添加到文档级别的步骤。

以下代码示例展示了如何将 JS 脚本添加到 Java 中的 PDF 文件中。

// 加载 PDF 文件
Document doc = new Document("input.pdf");

// 添加文档级 JavaScript
doc.getJavaScript().set_Item("func1", "function func1() { hello(); }");
doc.getJavaScript().set_Item("func2", "function func1() { hello(); }");

// 保存 PDF 文档
doc.save("output.pdf");

Java 从 PDF 文件中删除 JavaScript

以下是从 Java 中的 PDF 文件中删除 JavaScript 的步骤。

以下代码示例展示了如何从 Java 中的 PDF 文件中删除 JavaScript。

// 加载 PDF 文件
Document doc = new Document("input.pdf");

// 使用 key 移除 JavaScript
doc.getJavaScript().remove("func1");

// 保存 PDF 文档
doc.save("output.pdf");

用于在 PDF 中添加/删除 JavaScript 的 Java API - 获得免费许可证

您可以获得免费的临时许可证 以便在没有评估限制的情况下使用 Aspose.PDF for Java。

结论

在本文中,您学习了如何在 Java 中将 JavaScript 添加到 PDF 文件。此外,您还了解了如何以编程方式从 PDF 文件中删除 JavaScript。此外,您可以使用 文档 探索更多关于 Java PDF API 的信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。

也可以看看