在 C# .NET 中将 JavaScript 添加到 PDF 文件

PDF 在多功能性和功能方面是一种丰富的文档格式。 PDF 的主要优势之一是其跨异构平台的一致布局。此外,它还可以同时在桌面应用程序和网络浏览器中显示。这就是 PDF 文件能够运行 JavaScript 的原因。在本文中,我们将演示如何使用 C# 在 PDF 文件中添加或删除 JavaScript。

C# .NET API 在 PDF 中添加或删除 JavaScript

Aspose.PDF for .NET 旨在在 .NET 应用程序中执行 PDF 生成和操作。 API 让您可以无缝地创建、处理和转换简单和复杂布局的 PDF 文件。您可以 下载 API 的二进制文件或使用 NuGet 安装它。

PM> Install-Package Aspose.PDF

在 C# 中将 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 特定对象。

以下是在 C# 中将 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.OpenAction = javaScript;

// 在页面级别添加 JavaScript
doc.Pages[2].Actions.OnOpen = new JavascriptAction("app.alert('page 1 opened')");
doc.Pages[2].Actions.OnClose = new JavascriptAction("app.alert('page 1 closed')");

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

在 C# 中的 PDF 中添加文档级 JavaScript

您还可以使用 Document.JavaScript 属性将 JavaScript 添加到文档级别。以下是在 C# 中将 JavaScript 添加到文档级别的步骤。

以下代码示例展示了如何在 C# 中将 JavaScript 添加到 PDF。

// 加载或创建 PDF 文件
Document doc = new Document();

// 添加页面
doc.Pages.Add();

// 添加文档级 JavaScript
doc.JavaScript["func1"] = "function func1() { hello(); }";
doc.JavaScript["func2"] = "function func2() { hello(); }";

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

在 C# 中从 PDF 中删除 JavaScript

以下是在 C# 中从 PDF 中删除 JavaScript 的步骤。

以下代码示例展示了如何在 C# 中从 PDF 中删除 JavaScript。

// 加载文档
Document doc1 = new Document("input.pdf");

// 获取和打印 JavaScript 键
IList keys = (System.Collections.IList)doc1.JavaScript.Keys;
foreach (string key in keys)
{
    Console.WriteLine(key + " ==> " + doc1.JavaScript[key]);
}

// 使用 key 移除 JavaScript
doc1.JavaScript.Remove("func1");

// 保存 PDF 文档
doc1.Save("output.pdf");

获得免费许可证

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

结论

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

也可以看看